openapi: 3.0.1 info: contact: email: support@aiven.io name: Aiven support team url: https://aiven.io/support-services title: Aiven API Documentation Account Users API version: v1 x-logo: altText: Aiven logo backgroundColor: '#fafafa' href: https://api.aiven.io/doc url: https://aiven.io/assets/img/aiven-logo.png description: "# Introduction\n\n[Direct link to openapi.json](https://api.aiven.io/doc/openapi.json) for use with external tools\n\n[Aiven](https://aiven.io) is a modern fully-managed open source data platform for streaming, storing, and analyzing data on any public cloud. On Aiven Platform, you can operate your data infrastructure with a few devops tools: [Aiven Console](https://console.aiven.io/), [Aiven Terraform Provider](https://aiven.io/docs/tools/terraform), [Aiven CLI](https://github.com/aiven/aiven-client), and [Aiven Operator for Kubernetes](https://github.com/aiven/aiven-operator). All of them are built on an open secure powerful REST API for integration with custom tooling.\n\nThe Aiven [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer) API\nprovides programmatic access to Aiven.io services. To call the Aiven API, you can use either CLI tools (for example, `cURL` or [Aiven CLI client](https://aiven.io/docs/tools/cli)) or GUI tools, such as the [Aiven public API Postman collection](https://www.postman.com/aiven-apis).\n\nThis Aiven API documentation will help you operate your Aiven organization, projects, or services programmatically by integrating your applications and processes with Aiven.\n\n# Description\n\nAiven's APIs ([Application Programming Interfaces](https://en.wikipedia.org/wiki/API)) power its platform for data management. Aiven has a number of REST APIs that can help you build strong and robust data infrastructure for your applications.\n\nThe Aiven API is organized around core resources. Each core resource has multiple endpoints, which can be interacted with using different HTTP methods.\n\n## Core resources\n\n### Platform APIs\n\n
\n
Account
\n
Operations on the organization level related to accounts, projects, teams, users, invites, billing groups, payment methods, credit cards, authentication methods, and more
\n
User
\n
Operations related to users and users' profiles, access, authentication, authorization, user management, and more
\n
Project
\n
General operations on projects related to users, VPCs, invitations, alerts, peering connections, and more
\n
BillingGroup
\n
Operation on invoices, billing groups' credits and events
\n
Support ticket
\n
Operations on support tickets: listing, creating, looping users in
\n
\n\n### Services APIs\n\n
\n
Service
\n
All general (non-service-specific) operations on the service level: service creation, termination, configuration, updates, information retrieval, reset, and more
\n
Service Integrations
\n
Operations related to integrating services and managing service integrations
\n
Service: ClickHouse
\n
ClickHouse-specific operations on queries and databases
\n
Service: Flink
\n
Operations on Flink queries, jobs, and applications
\n
Service: Kafka
\n
Kafka and Kafka Connect specific operations on connectors, ACL entries, quotas, topics, topic messages, schema registry, and more
\n
Service: Kafka MirrorMaker
\n
Operations on replication flows
\n
Service: MySQL
\n
Fetching service query statistics
\n
Service: OpenSearch
\n
Operations on ACL configuration, security administration and configuration
\n
Service: PostgreSQL
\n
Operations on extensions, service query statistics, and connection pools
\n
\n\n# Requests\n\nThere are multiple ways you can interact with the Aiven API over HTTP. You can access it by sending requests from a client (for example, a web browser) to the Aiven's server. In this API reference, you'll find code examples of how to do that using `cURL` and a few different client libraries (programming languages).\n\nTo send an API request, you need to specify the following:\n\n* HTTP method\n* Path\n* Request headers\n\n Typically, `content-type` needs to be set to `application/json`: `content-type: application/json`. There are a few exceptions though.\n\n* Path, query, or body parameters (either required or optional).\n\n```bash\ncurl --request POST \\\n --url https://api.aiven.io/v1/project/{project}/vpcs \\\n --header 'Authorization: aivenv1 REPLACE_BEARER_TOKEN' \\\n --header 'content-type: application/json' \\\n --data\n '{\n \"cloud_name\": \"string\",\n \"network_cidr\": \"string\",\n \"peering_connections\": [\n {\n \"peer_azure_app_id\": \"string\",\n \"peer_azure_tenant_id\": \"string\",\n \"peer_cloud_account\": \"string\",\n \"peer_region\": \"string\",\n \"peer_resource_group\": \"string\",\n \"peer_vpc\": \"string\",\n \"user_peer_network_cidrs\": [\n \"string\"\n ]\n }\n ]\n }'\n```\n\n# Responses\n\nUpon receiving and processing a request, the Aiven API returns the response status code, response headers, and a response body in the `JSON` format. Response bodies include different properties, which can be either required or optional, for example, the ``message`` property, which is an optional human-readable information on the result of the action (deleted, created, or updated).\n\n```json\n{\n \"cloud_name\": \"string\",\n \"create_time\": \"string\",\n \"message\": \"string\",\n \"network_cidr\": \"string\",\n \"peering_connections\": [\n { ... }\n ],\n \"pending_build_only_peering_connections\": \"string\",\n \"project_vpc_id\": \"string\",\n \"state\": \"ACTIVE\",\n \"update_time\": \"string\"\n}\n```\n\n## Successful responses\n\nA successful API response returns an HTTP result code between 200 and 299.\n\nExample of the ``created`` response\n\n```json\n {\n \"service\": {\n \"service_name\": \"foobar\",\n ...\n }\n }\n```\n\n## Failed responses\n\nA failed API response returns a HTTP code greater or equal to 400. Additionally, the response may return a list of errors in the response body as JSON, for example\n\n```json\n{\n \"errors\": [\n {\n \"error_code\": \"authentication_failed\",\n \"message\": \"Authentication failed\",\n \"status\": 403,\n \"metadata\": {\n ...\n }\n }\n ],\n \"message\": \"Authentication failed\"\n}\n```\n\n> For information on errors' properties and error codes, check [Errors](/doc/openapi/openapi-description#errors).\n\n# Get started\n\nCheck out how to start using the Aiven API either in [API quick start](https://aiven.io/docs/tools/api#api-quickstart) or [Your first API call](https://aiven.io/blog/your-first-aiven-api-call).\n\n## Authentication\n\n\n\n# Errors\n\nWhen working with the Aiven API, you may encounter different error responses when you attempt to perform operations that can fail. For example, trying to enable writes for a database that has been powered off would lead to the following error response:\n\n```json\n{\n \"errors\": [\n {\n \"error_code\": \"not_powered\",\n \"message\": \"Database not powered on\",\n \"status\": 409\n }\n ],\n \"message\": \"Database not powered on\"\n}\n```\n\n## Check a response for errors\n\nIf a request fails with a HTTP code greater or equal to 400, it returns a list of errors in the response body as JSON. `errors` objects are embedded in the failed API responses.\n\n```json\n{\n \"errors\": [\n {\n \"error_code\": \"account_not_found\",\n \"message\": \"Account does not exist\",\n \"status\": 404\n }\n ],\n \"message\": \"Account does not exist\"\n}\n```\n\n## Errors' properties\n\nIn an API response, one or more errors may be included in the ``errors`` array of objects. Each error object may contain a few properties:\n\n* ``status`` (required) is an HTTP error code, which can be used to programmatically identify the error type.\n\n * ``200`` <= ``status``< ``300`` means a successful request.\n * ``300`` <= ``status`` <= ``500`` means a failed request.\n\n ``errors`` can have the following HTTPS status codes:\n\n * 200 - OK\n * 201 - Created\n * 400 - Bad Request\n * 401 - Unauthorized\n * 403 - Forbidden\n * 404 - Not found\n * 405 - Method Not Allowed\n * 409 - Conflict\n * 500 - Internal Server Error\n\n* ``message`` (required) is human-readable information on the error.\n* ``error_code`` is a machine-readable information on the error (see [Error codes](/doc/openapi/openapi-description#error-codes)).\n\n## Error codes\n\nMachine-readable ``error_code`` fields are progressively added to Aiven endpoints to allow you to identify different failure cases programmatically. Currently, the supported values are the following:\n\n- `account_already_exists`\n- `account_already_has_organization`\n- `account_and_project_do_not_match`\n- `account_and_project_must_belong_same_tenant`\n- `account_cannot_be_own_ancestor`\n- `account_must_have_enabled_authentication_method`\n- `account_not_found`\n- `account_team_not_found`\n- `account_unit_cannot_create_for_personal_tier`\n- `account_unit_cannot_have_billing_group`\n- `account_with_child_accounts_cannot_be_deleted`\n- `account_with_projects_cannot_be_deleted`\n- `action_forbidden_for_application_users`\n- `action_forbidden_for_managed_users`\n- `action_forbidden_for_marketplace_users`\n- `action_forbidden_for_scim_users`\n- `action_forbidden_for_timescale_users`\n- `action_forbidden_missing_governance_usergroup`\n- `action_forbidden_on_application_users`\n- `action_forbidden_on_topic_request`\n- `action_forbidden_on_unmanaged_users`\n- `acu_billing_not_allowed`\n- `address_already_belongs_to_organization`\n- `address_in_use`\n- `address_not_found`\n- `api_client_ip_allowlist_blocks_caller`\n- `approval_forbidden_on_topic_request`\n- `approval_missing_on_request`\n- `auth_token_max_age_too_low`\n- `authentication_method_disable_current_not_allowed`\n- `authentication_method_does_not_allow_auto_join_user_group`\n- `authentication_method_limit_reached`\n- `authentication_method_not_found`\n- `backup_failed`\n- `bad_request`\n- `billing_address_not_found`\n- `billing_customer_id_not_found`\n- `billing_group_not_found`\n- `billing_group_organization_active_trial`\n- `billing_group_owning_account_must_be_organization`\n- `billing_metronome_support_contract_not_found`\n- `ca_version_not_in_sequence`\n- `cannot_delete_active_managed_users`\n- `cannot_delete_users_with_organizations_memberships`\n- `cannot_move_project_not_assigned_to_organization`\n- `cannot_remove_managed_users_from_organization`\n- `cannot_set_groups_managed_by_scim_as_auto_join_group`\n- `client_ip_address_policy_violation`\n- `credit_card_not_found`\n- `credit_memo_not_found`\n- `custom_cloud_environment_cloud_not_supported`\n- `custom_cloud_environment_internal`\n- `custom_cloud_environment_invalid_iam_role_arn`\n- `custom_cloud_environment_missing_configuration`\n- `custom_cloud_environment_not_found`\n- `custom_cloud_environment_region_not_supported`\n- `database_not_found`\n- `decline_forbidden_on_topic_request`\n- `deleting_forbidden_on_governance_request`\n- `deleting_forbidden_on_topic_request`\n- `discount_not_found`\n- `feature_not_enabled`\n- `free_plans_in_high_demand_and_unavailable`\n- `free_tier_restricted`\n- `free_trial_extensions_not_available`\n- `free_trial_max_extended`\n- `free_trial_not_active`\n- `free_trial_not_available`\n- `governance_access_no_permission_on_project`\n- `governance_access_not_found`\n- `governance_configuration_already_exists`\n- `governance_configuration_not_found`\n- `governance_group_not_found`\n- `governance_invalid_service_type`\n- `governance_request_already_in_progress`\n- `governance_request_deleted`\n- `idp_no_domains_linked`\n- `index_close_failed`\n- `index_not_found`\n- `internal_server_error`\n- `invalid_backup_configuration`\n- `invalid_cmk_id`\n- `invalid_currency_code`\n- `invalid_date_format`\n- `invalid_email_format`\n- `invalid_governance_group_provided`\n- `invalid_kafka_topic_request_type`\n- `invalid_os_migration_command`\n- `invalid_owner_user_group`\n- `invalid_private_access_settings`\n- `invalid_scim_user_state_update`\n- `invalid_service_type`\n- `invalid_vcs_type`\n- `invitation_expired`\n- `invitation_not_found`\n- `invoice_lines_not_supported`\n- `invoice_not_found`\n- `ip_address_not_present`\n- `ip_address_not_valid`\n- `kafka_acl_not_supported`\n- `kafka_console_governance_enabled`\n- `kafka_governance_not_available`\n- `kafka_governance_not_enabled`\n- `kafka_governance_policy_incomplete`\n- `kafka_partition_reassignment_in_progress`\n- `kafka_policy_violation`\n- `kafka_service_unavailable`\n- `kafka_terraform_governance_enabled`\n- `kafka_topic_already_exists`\n- `kafka_topic_invalid_config`\n- `kafka_topic_not_found`\n- `kafka_topic_not_synchronized`\n- `kafka_topic_queued_for_deletion`\n- `kafka_topic_reserved`\n- `marketplace_aws_customer_or_product_details_not_found`\n- `marketplace_subscription_already_linked_to_organization`\n- `marketplace_subscription_link_expired`\n- `marketplace_subscription_no_access`\n- `metadata_validation_failed`\n- `mfa_required_by_organization`\n- `mp_account_with_active_subscription_deleted`\n- `mp_account_with_commitment_deleted`\n- `mp_account_with_support_contract_deleted`\n- `mp_subscription_not_found`\n- `nested_account_cannot_have_authentication_method`\n- `nested_account_cannot_have_user_groups`\n- `new_subnet_id_required`\n- `no_failed_os_migration`\n- `node_prune_version_not_updated`\n- `not_powered`\n- `opensearch_delete_system_index`\n- `opensearch_internal_server_error`\n- `opensearch_service_unavailable`\n- `opensearch_too_many_requests`\n- `optimization_failed`\n- `optimization_not_found`\n- `organization_aiven_enterprise_contract_denied`\n- `organization_aiven_enterprise_contract_feature_denied`\n- `organization_aiven_enterprise_denied`\n- `organization_aiven_enterprise_organization_required`\n- `organization_cannot_exist_without_root_account`\n- `organization_domain_already_linked`\n- `organization_domain_not_found`\n- `organization_domain_not_root`\n- `organization_domain_verification_failed`\n- `organization_has_active_addresses`\n- `organization_has_active_payment_methods`\n- `organization_kafka_topics_invalid_filters`\n- `organization_mismatch`\n- `organization_must_have_one_super_admin`\n- `organization_not_found`\n- `organization_pending_support_contract_already_exists`\n- `organization_support_contract_tier_not_supported`\n- `organization_tier_downgrade_not_allowed`\n- `organization_user_not_found`\n- `orphaned_project_not_allowed`\n- `parent_account_cannot_be_own_ancestor`\n- `parent_account_not_found`\n- `parent_account_tenant_invalid`\n- `parent_account_too_deep`\n- `payment_method_not_found`\n- `permission_denied`\n- `pg_editor_readonly_violation`\n- `pg_pool_already_exists`\n- `pg_pool_invalid_database`\n- `pg_pool_invalid_name`\n- `pg_pool_not_found`\n- `pg_pool_not_supported`\n- `pg_pool_pinned_pools_not_enabled`\n- `pg_pool_requires_pinned_pools`\n- `pg_pool_too_big`\n- `pg_pool_too_many`\n- `pg_publication_not_found`\n- `pg_replication_slot_not_found`\n- `pg_scram_not_allowed`\n- `project_account_not_active`\n- `project_already_exists`\n- `project_belongs_to_account_billing_group_must_use_api`\n- `project_does_not_exist`\n- `project_has_no_such_user`\n- `project_limitation_not_found`\n- `project_move_invalid`\n- `project_move_organizations_internal_config_not_match`\n- `project_not_found`\n- `project_without_billing_group_must_be_assigned_from_account`\n- `query_validation_failed`\n- `replication_already_exists`\n- `replication_config_invalid`\n- `replication_not_found`\n- `replication_service_not_found`\n- `repository_not_found`\n- `request_already_exists`\n- `request_forbidden`\n- `request_not_found`\n- `request_operation_already_exists`\n- `request_operation_not_found`\n- `resource_managed_by_governance`\n- `resource_managed_by_scim`\n- `resource_not_managed_by_scim`\n- `retired_api_endpoint`\n- `root_account_required`\n- `same_organization_required`\n- `schema_insights_failed`\n- `service_acl_not_found`\n- `service_acl_too_many`\n- `service_does_not_exist`\n- `service_governance_not_enabled`\n- `service_integration_endpoint_not_found`\n- `service_integration_not_found`\n- `service_integration_project_mismatch_source_destination`\n- `service_is_upgrade_pipeline_source`\n- `service_logs_backend_timeout`\n- `service_logs_backend_unavailable`\n- `service_maintenance_required`\n- `service_not_found`\n- `service_type_not_allowed`\n- `service_type_version_pin_locked`\n- `shipping_address_not_found`\n- `signup_welcome_invalid_key`\n- `snapshot_creation_failed`\n- `snapshot_deletion_failed`\n- `snapshot_not_found`\n- `snapshot_restoration_failed`\n- `stripe_customer_owning_account_must_be_organization`\n- `support_contract_and_account_must_be_in_same_organization`\n- `support_contract_earliest_cancellation_date_later_than_end_date`\n- `support_contract_must_have_billing_group`\n- `support_contract_null_tier`\n- `team_limit_exceeded`\n- `team_names_must_be_unique`\n- `tenant_mismatch`\n- `topic_not_found`\n- `unable_to_parse_query`\n- `unit_cannot_be_moved_out_of_organization`\n- `unknown_user_sso_login_attempt`\n- `unsupported_resource_type`\n- `upgrade_pipeline_no_nodes`\n- `upgrade_pipeline_no_validation`\n- `upgrade_pipeline_not_enabled_for_project`\n- `upgrade_pipeline_service_not_destination`\n- `upgrade_pipeline_service_not_found`\n- `upgrade_step_destination_already_has_source`\n- `upgrade_step_destination_service_not_found`\n- `upgrade_step_exceeds_max_chain_length`\n- `upgrade_step_not_found`\n- `upgrade_step_service_type_mismatch`\n- `upgrade_step_source_service_not_found`\n- `upgrade_step_unsupported_service_type`\n- `upgrade_step_validation_not_possible_due_to_service_state`\n- `upgrade_step_would_create_cycle`\n- `upgrade_validation_already_exists`\n- `user_already_in_organization`\n- `user_already_invited_to_organization`\n- `user_cant_login`\n- `user_config_2fa_otp_verification_failed`\n- `user_deactivated`\n- `user_domain_does_not_belong_to_organization_or_no_linked_auth_method`\n- `user_group_names_must_be_unique`\n- `user_group_not_found`\n- `user_groups_belong_to_different_accounts`\n- `user_groups_must_be_from_same_account`\n- `user_has_no_access_to_billing_info`\n- `user_has_no_access_to_project_with_current_authentication_method`\n- `user_has_to_sign_in_with_non_account_authentication_method`\n- `user_has_too_many_disk_addition_requests`\n- `user_is_internal_user`\n- `user_not_account_owner`\n- `user_not_account_owner_of_billing_group`\n- `user_not_account_owner_of_parent_account`\n- `user_not_admin_of_account_billing_group`\n- `user_not_application_user`\n- `user_not_found`\n- `user_not_managed_by_organization`\n- `user_not_organization_admin`\n- `user_not_signed_in_with_account_authentication_method`\n- `user_oauth_authentication_method_not_allowed`\n- `user_password_authentication_method_not_allowed`\n- `user_password_compromised`\n- `user_password_not_found`\n- `user_personal_token_allowed_authentication_methods_cannot_be_disabled`\n- `user_personal_token_not_allowed`\n- `user_personal_tokens_cannot_be_disabled`\n- `user_role_not_allowed_to_perform_operation`\n- `user_saml_authentication_method_not_allowed`\n- `user_weblink_action_expired`\n- `username_is_invalid`\n- `username_is_reserved`\n- `users_belong_to_different_tenant_from_user_group_account`\n- `vcs_integration_installation_not_found_or_not_accessible`\n- `vcs_integration_not_found`\n- `vpc_id_and_subnet_id_required`\n- `webhook_invalid_event_data`\n- `webhook_unauthorized`\n" servers: - url: https://api.aiven.io/v1 tags: - name: Users x-displayName: Users paths: /access_token: post: summary: Create new access token tags: - Users operationId: AccessTokenCreate requestBody: content: application/json: schema: $ref: '#/components/schemas/AccessTokenCreateRequestBody' example: description: Integration client Alpha extend_when_used: true ip_allowlist: - 192.168.6.0/24 max_age_seconds: 86400 scopes: - user:read responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/AccessTokenCreateResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write get: summary: List all valid access tokens tags: - Users operationId: AccessTokenList responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/AccessTokenListResponse' security: - tokenAuth: [] oauth2: - user:read - authentication:read /access_token/{token_prefix}: delete: summary: Revoke an access token tags: - Users operationId: AccessTokenRevoke parameters: - $ref: '#/components/parameters/token_prefix' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/AccessTokenRevokeResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write put: summary: Update an existing access token tags: - Users operationId: AccessTokenUpdate parameters: - $ref: '#/components/parameters/token_prefix' requestBody: content: application/json: schema: $ref: '#/components/schemas/AccessTokenUpdateRequestBody' example: description: Integration client Alpha responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/AccessTokenUpdateResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /me/password_strength: post: summary: Check password strength for an existing user tags: - Users operationId: CheckPasswordStrengthExistingUser requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPasswordStrengthExistingUserRequestBody' example: new_password: xyz567 old_password: '!@$password12345' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/CheckPasswordStrengthExistingUserResponse' security: - tokenAuth: [] oauth2: [] /user/password_strength: post: summary: Check password strength for a new user tags: - Users operationId: CheckPasswordStrengthNewUser requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPasswordStrengthNewUserRequestBody' example: email: jane@example.com password: xyz567 real_name: Jane Smith responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/CheckPasswordStrengthNewUserResponse' /organization/{organization_id}/user/{member_user_id}/user-groups: get: summary: List user groups of the organization's member tags: - Users operationId: OrganizationMemberGroupsList parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationMemberGroupsListResponse' security: - tokenAuth: [] oauth2: - accounts:read /organization/{organization_id}/user/{member_user_id}/permissions: get: summary: List resources permissions of the organization's member tags: - Users operationId: OrganizationMemberPermissionsList description:

Returns a comprehensive list of resources within an organization, including units, projects, and the organization itself, along with the specific permissions assigned to the user for each resource.

parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationMemberPermissionsListResponse' '404': description: Organization not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - authentication:read /organization/{organization_id}/user/{member_user_id}/authentication_methods: get: summary: List authentication methods for a user in the organization tags: - Users operationId: OrganizationUserAuthenticationMethodsList parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationUserAuthenticationMethodsListResponse' security: - tokenAuth: [] oauth2: - accounts:read /organization/{organization_id}/user/{member_user_id}: delete: summary: Remove a user from the organization tags: - Users operationId: OrganizationUserDelete parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '204': description: Remove a user from the organization content: {} '400': description: Invalid request parameters content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - cannot_remove_managed_users_from_organization - organization_must_have_one_super_admin title: Machine processable error code. Clients must be prepared to handle new codes. description: 'cannot_remove_managed_users_from_organization: Cannot remove managed users from organization. organization_must_have_one_super_admin: Organization must contain at least one super admin.' '403': description: Operation not allowed content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - action_forbidden_for_managed_users title: Machine processable error code. Clients must be prepared to handle new codes. description: 'action_forbidden_for_managed_users: Requested action not allowed for managed users' security: - tokenAuth: [] oauth2: - accounts:write get: summary: Get details on a user of the organization tags: - Users operationId: OrganizationUserGet parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationUserGetResponse' security: - tokenAuth: [] oauth2: - accounts:read patch: summary: Update details on a user of the organization tags: - Users operationId: OrganizationUserUpdate parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationUserUpdateRequestBody' example: city: Helsinki country: FI department: Workshop is_super_admin: true job_title: Carpenter real_name: Jane Smith state: active responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationUserUpdateResponse' security: - tokenAuth: [] oauth2: - accounts:write /organization/{organization_id}/user: get: summary: List users of the organization tags: - Users operationId: OrganizationUserList parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/organizationuserlist_include_application_users' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationUserListResponse' security: - tokenAuth: [] oauth2: - accounts:read /organization/{organization_id}/user/{member_user_id}/reset_password: post: summary: Reset the password of a managed user in the organization tags: - Users operationId: OrganizationUserPasswordReset parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '204': description: Reset the password of a managed user in the organization content: {} security: - tokenAuth: [] oauth2: - accounts:write /organization/{organization_id}/user/{member_user_id}/access-token/{token_prefix}: delete: summary: Revoke the token of a managed user in the organization tags: - Users operationId: OrganizationUserRevokeToken parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' - $ref: '#/components/parameters/token_prefix' responses: '204': description: Revoke the token of a managed user in the organization content: {} security: - tokenAuth: [] oauth2: - user:write - authentication:write /organization/{organization_id}/user/{member_user_id}/access-tokens: get: summary: List tokens from an organization's member tags: - Users operationId: OrganizationUserTokensList description:

Returns tokens generated using general authentication methods or authentication methods linked to the organization.

parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/member_user_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationUserTokensListResponse' security: - tokenAuth: [] oauth2: - accounts:read /me/2fa: put: summary: Configure two-factor authentication tags: - Users operationId: TwoFactorAuthConfigure requestBody: content: application/json: schema: $ref: '#/components/schemas/TwoFactorAuthConfigureRequestBody' example: method: otp password: '!@$password12345' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/TwoFactorAuthConfigureResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /me/2fa/otp: put: summary: Complete one-time password configuration tags: - Users operationId: TwoFactorAuthConfigureOTP requestBody: content: application/json: schema: $ref: '#/components/schemas/TwoFactorAuthConfigureOTPRequestBody' example: otp: '987654' password: '!@$password12345' uri: otpauth://totp/Aiven:foo%40example.com?secret=NF4E6L2JPISKV3AI&issuer=Aiven responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/TwoFactorAuthConfigureOTPResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /user/{user_id}: delete: summary: Delete user account tags: - Users operationId: UserAccountDelete parameters: - $ref: '#/components/parameters/user_id' responses: '204': description: Delete user account content: {} '400': description: Invalid request parameters content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - cannot_delete_active_managed_users - cannot_delete_users_with_organizations_memberships title: Machine processable error code. Clients must be prepared to handle new codes. description: 'cannot_delete_active_managed_users: Managed users must be deactivated before deletion. Please deactivate the user first.. cannot_delete_users_with_organizations_memberships: To delete your user account, you have to first leave all organizations.' '403': description: Operation not allowed content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - action_forbidden_for_managed_users - action_forbidden_on_application_users - action_forbidden_on_unmanaged_users - user_not_organization_admin title: Machine processable error code. Clients must be prepared to handle new codes. description: 'action_forbidden_for_managed_users: Requested action not allowed for managed users. action_forbidden_on_application_users: Requested action not allowed on application users. action_forbidden_on_unmanaged_users: Requested action not allowed on unmanaged users. user_not_organization_admin: User is not organization administrator.' security: - tokenAuth: [] oauth2: - user:write - authentication:write /me/account/invites/accept: post: summary: Accept all invites for a single account tags: - Users operationId: UserAccountInvitesAccept deprecated: true description:

Use the organization invitations API instead.

responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAccountInvitesAcceptResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /me/account/invites: get: summary: List pending account invites tags: - Users operationId: UserAccountInvitesList deprecated: true description:

Use the organization invitations API instead.

responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAccountInvitesListResponse' security: - tokenAuth: [] oauth2: - user:read - authentication:read /me/account/invites/reject: post: summary: Reject invite to a team tags: - Users operationId: UserAccountInvitesReject deprecated: true responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAccountInvitesRejectResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /userauth: post: summary: Authenticate user tags: - Users operationId: UserAuth description:

Authenticate user and return token for following authorizations

requestBody: content: application/json: schema: $ref: '#/components/schemas/UserAuthRequestBody' example: email: jane@example.com otp: '987654' password: '!@$password12345' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAuthResponse' '403': description: Operation not allowed content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - user_deactivated title: Machine processable error code. Clients must be prepared to handle new codes. description: 'user_deactivated: Your account has been temporary suspended. Please contact your organization admin.' /userauth/login_options: post: summary: Get available login options tags: - Users operationId: UserAuthLoginOptions description:

Get available user login options

requestBody: content: application/json: schema: $ref: '#/components/schemas/UserAuthLoginOptionsRequestBody' example: email: jane@example.com responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAuthLoginOptionsResponse' /me/authentication_methods/{user_authentication_method_id}: delete: summary: Delete linked authentication method, and revoke all associated access tokens tags: - Users operationId: UserAuthenticationMethodDelete parameters: - $ref: '#/components/parameters/user_authentication_method_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAuthenticationMethodDeleteResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /me/authentication_methods: get: summary: List linked authentication methods tags: - Users operationId: UserAuthenticationMethodsList responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserAuthenticationMethodsListResponse' security: - tokenAuth: [] oauth2: - user:read - authentication:read /me/expire_tokens: post: summary: Expire all authorization tokens tags: - Users operationId: UserExpireTokens responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserExpireTokensResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /me: get: summary: Get information for the current session's user tags: - Users operationId: UserInfo responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserInfoResponse' security: - tokenAuth: [] oauth2: - user:read patch: summary: Edit profile tags: - Users operationId: UserUpdate description:

Updates details for the user. Returns user's updated information upon success.

requestBody: content: application/json: schema: $ref: '#/components/schemas/UserUpdateRequestBody' example: city: Berlin country: DE department: Account manager job_title: Account manager real_name: Jane Smith responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserUpdateResponse' security: - tokenAuth: [] oauth2: - user:write /me/logout: post: summary: Logout user, removing current authentication token tags: - Users operationId: UserLogout responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserLogoutResponse' security: - tokenAuth: [] oauth2: [] /me/password: put: summary: Change user password tags: - Users operationId: UserPasswordChange description:

Sets a new password for the user. Immediately expires all existing authentication tokens.

requestBody: content: application/json: schema: $ref: '#/components/schemas/UserPasswordChangeRequestBody' example: new_password: xyz567 password: '!@$password12345' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserPasswordChangeResponse' security: - tokenAuth: [] oauth2: - user:write - authentication:write /user/password_reset/{verification_code}: post: summary: Confirm user password reset tags: - Users operationId: UserPasswordReset parameters: - $ref: '#/components/parameters/verification_code' requestBody: content: application/json: schema: $ref: '#/components/schemas/UserPasswordResetRequestBody' example: new_password: xyz567 responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserPasswordResetResponse' /user/password_reset_request: post: summary: Request user password reset tags: - Users operationId: UserPasswordResetRequest description:

Request a password reset code to be sent to the user's email address.

requestBody: content: application/json: schema: $ref: '#/components/schemas/UserPasswordResetRequestRequestBody' example: email: jane@example.com responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserPasswordResetRequestResponse' /user/verify_email/{verification_code}: post: summary: Confirm user email address tags: - Users operationId: UserVerifyEmail description:

Confirm user email address after user has received the confirm code via email.

parameters: - $ref: '#/components/parameters/verification_code' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/UserVerifyEmailResponse' /user/credit_code/{credit_code}: get: summary: Validate campaign credit code tags: - Users operationId: ValidateCreditCode parameters: - $ref: '#/components/parameters/credit_code' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/ValidateCreditCodeResponse' /me/referral/validation/{referral_code}: get: summary: Validate referral_code code tags: - Users operationId: ValidateReferralCode parameters: - $ref: '#/components/parameters/referral_code' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/ValidateReferralCodeResponse' components: schemas: UserPasswordChangeResponse: type: object description: UserPasswordChangeResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request token: type: string description: API session authentication token required: - token UserAuthRequestBody: type: object description: UserAuthRequestBody properties: email: type: string maxLength: 254 description: User email address otp: type: string maxLength: 6 description: One-time password password: type: string maxLength: 256 description: User password required: - email - password UserAuthenticationMethodDeleteResponse: type: object description: UserAuthenticationMethodDeleteResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request OrganizationUserListResponse: type: object description: OrganizationUserListResponse properties: users: type: array description: List of users of the organization items: type: object properties: is_super_admin: type: boolean description: Super admin state of the organization user join_time: type: string maxLength: 36 description: Join time last_activity_time: type: string maxLength: 36 description: Last activity time user_id: type: string description: User ID user_info: type: object description: OrganizationUserInfo properties: city: type: string maxLength: 512 description: City country: type: string description: Country create_time: type: string maxLength: 36 description: Creation time department: type: string description: Department is_application_user: type: boolean description: Is Application User job_title: type: string description: Job Title managed_by_scim: type: boolean description: Managed By Scim managing_organization_id: type: string maxLength: 36 description: Managing Organization ID real_name: type: string maxLength: 256 description: Real Name state: type: string description: State user_email: type: string maxLength: 254 description: User Email required: - create_time - is_application_user - managed_by_scim - real_name - state - user_email required: - is_super_admin - join_time - last_activity_time - user_id - user_info required: - users TwoFactorAuthConfigureOTPRequestBody: type: object description: TwoFactorAuthConfigureOTPRequestBody properties: otp: type: string maxLength: 6 description: One-time password password: type: string maxLength: 256 description: Current password uri: type: string maxLength: 2048 description: URI describing the TOTP required: - otp - password - uri ValidateCreditCodeResponse: type: object description: ValidateCreditCodeResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request OrganizationUserUpdateRequestBody: type: object description: OrganizationUserUpdateRequestBody properties: city: type: string maxLength: 512 description: City country: type: string description: Country department: type: string description: Department is_super_admin: type: boolean description: Alters super admin state of the organization user job_title: type: string description: Job Title real_name: type: string maxLength: 256 description: Real Name state: type: string description: An enumeration. title: State of the user in the organization enum: - active - deactivated - deleted CheckPasswordStrengthNewUserRequestBody: type: object description: CheckPasswordStrengthNewUserRequestBody properties: email: type: string maxLength: 254 description: User email address password: type: string maxLength: 256 description: New password real_name: type: string maxLength: 256 description: User real name required: - password AccessTokenListResponse: type: object description: AccessTokenListResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request tokens: type: array description: List of access tokens items: type: object properties: create_time: type: string description: Timestamp when the access token was created created_manually: type: boolean description: True for tokens explicitly created via the access_tokens API, false for tokens created via login. currently_active: type: boolean description: true if API request was made with this access token description: type: string maxLength: 1000 description: Name / description of an access token expiry_time: type: string description: Timestamp when the access token will expire unless extended, if ever extend_when_used: type: boolean description: Extend token expiration time when token is used. Only applicable if max_age_seconds is specified. ip_allowlist: type: array maxItems: 100 description: List of allowed IP ranges items: type: string last_ip: type: string description: IP address the access token was last used from in case it has ever been used last_used_time: type: string description: Timestamp when the access token was last used, if ever last_user_agent: type: string description: User agent string of the client that last used the token in case it has ever been used last_user_agent_human_readable: type: string description: Human readable user agent string of the client that last used the token in case user agent is known max_age_seconds: type: number minimum: 600 maximum: 315360000 description: Time the token remains valid since creation (or since last use if extend_when_used is true) scopes: type: array maxItems: 100 description: Scopes this token is restricted to, if specified items: type: string token_prefix: type: string description: First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ => %2F, + => %2B, = => %3D). required: - create_time - created_manually - extend_when_used - max_age_seconds - token_prefix required: - tokens AccessTokenUpdateResponse: type: object description: AccessTokenUpdateResponse properties: create_time: type: string description: Timestamp when the access token was created created_manually: type: boolean description: True for tokens explicitly created via the access_tokens API, false for tokens created via login. currently_active: type: boolean description: true if API request was made with this access token description: type: string maxLength: 1000 description: Name / description of an access token errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status expiry_time: type: string description: Timestamp when the access token will expire unless extended, if ever extend_when_used: type: boolean description: Extend token expiration time when token is used. Only applicable if max_age_seconds is specified. ip_allowlist: type: array maxItems: 100 description: List of allowed IP ranges items: type: string last_ip: type: string description: IP address the access token was last used from in case it has ever been used last_used_time: type: string description: Timestamp when the access token was last used, if ever last_user_agent: type: string description: User agent string of the client that last used the token in case it has ever been used last_user_agent_human_readable: type: string description: Human readable user agent string of the client that last used the token in case user agent is known max_age_seconds: type: number minimum: 600 maximum: 315360000 description: Time the token remains valid since creation (or since last use if extend_when_used is true) message: type: string description: Printable result of the request scopes: type: array maxItems: 100 description: Scopes this token is restricted to, if specified items: type: string token_prefix: type: string description: First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ => %2F, + => %2B, = => %3D). required: - create_time - extend_when_used - max_age_seconds - token_prefix AccessTokenCreateRequestBody: type: object description: AccessTokenCreateRequestBody properties: description: type: string maxLength: 1000 description: Name / description of an access token extend_when_used: type: boolean description: Extend token expiration time when token is used. Only applicable if max_age_seconds is specified. default: false ip_allowlist: type: array maxItems: 100 description: List of allowed IP ranges items: type: string max_age_seconds: type: number minimum: 600 maximum: 315360000 description: Time the token remains valid since creation (or since last use if extend_when_used is true) scopes: type: array maxItems: 100 description: Scopes this token is restricted to, if specified items: type: string required: - description UserPasswordResetRequestResponse: type: object description: UserPasswordResetRequestResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request OrganizationUserTokensListResponse: type: object description: OrganizationUserTokensListResponse properties: tokens: type: array description: List of user tokens accessible to the organization items: type: object properties: description: type: string description: Description ip_allowlist: type: array description: List of IP addresses that are allowed to use the token items: type: string last_ip: type: string description: Last-used IP last_used_time: type: string maxLength: 36 description: Last-used time last_user_agent: type: string description: Last-used user agent token_prefix: type: string description: Token prefix required: - description - ip_allowlist - last_ip - last_used_time - last_user_agent - token_prefix required: - tokens CheckPasswordStrengthNewUserResponse: type: object description: CheckPasswordStrengthNewUserResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request password_strength: type: object description: Password strength properties: is_acceptable: type: boolean description: True if the password is acceptable message: type: string description: Password strength message score: type: integer minimum: 0 maximum: 4 description: Password strength score required: - message - score required: - password_strength ValidateReferralCodeResponse: type: object description: ValidateReferralCodeResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request UserAccountInvitesRejectResponse: type: object description: UserAccountInvitesRejectResponse properties: account_invites: type: array description: List of invites items: type: object properties: account_id: type: string maxLength: 36 description: Account ID account_name: type: string maxLength: 83 description: Account name create_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC invited_by_user_email: type: string maxLength: 254 description: User email address team_id: type: string maxLength: 32 description: Team ID team_name: type: string maxLength: 128 description: Team name user_email: type: string maxLength: 254 description: User email address required: - account_id - account_name - create_time - invited_by_user_email - team_id - team_name - user_email errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request required: - account_invites CheckPasswordStrengthExistingUserRequestBody: type: object description: CheckPasswordStrengthExistingUserRequestBody properties: new_password: type: string maxLength: 256 description: New password old_password: type: string maxLength: 256 description: User password required: - new_password - old_password UserPasswordResetRequestBody: type: object description: UserPasswordResetRequestBody properties: new_password: type: string maxLength: 256 description: New password required: - new_password OrganizationMemberGroupsListResponse: type: object description: OrganizationMemberGroupsListResponse properties: user_groups: type: array description: User Groups items: type: object properties: create_time: type: string maxLength: 36 description: User group creation time description: type: string maxLength: 4096 description: Description managed_by_scim: type: boolean description: Managed By Scim update_time: type: string maxLength: 36 description: User group last update time user_group_id: type: string maxLength: 36 description: User Group ID user_group_name: type: string maxLength: 128 description: User Group Name required: - create_time - description - managed_by_scim - update_time - user_group_id - user_group_name required: - user_groups OrganizationMemberPermissionsListResponse: type: object description: OrganizationMemberPermissionsListResponse properties: permissions: type: array description: Organization member permissions items: type: object properties: permissions: type: array description: List of roles items: type: string resource_id: type: string description: Resource Identifier resource_type: type: string description: An enumeration. title: Resource type enum: - project - organization - organization_unit required: - permissions - resource_id - resource_type required: - permissions UserLogoutResponse: type: object description: UserLogoutResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request UserPasswordResetRequestRequestBody: type: object description: UserPasswordResetRequestRequestBody properties: email: type: string maxLength: 254 description: User email address required: - email UserInfoResponse: type: object description: UserInfoResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request user: type: object description: User information properties: auth: type: array description: List of user's required authentication methods items: type: string city: type: string maxLength: 256 description: City country: type: string maxLength: 256 description: Country code ISO 3166-1 alpha-2 create_time: type: string maxLength: 36 description: User registration time department: type: string maxLength: 256 description: Job department features: type: object description: Feature flags properties: {} invitations: type: array description: List of pending invitations items: type: object properties: invite_code: type: string description: Code for accepting the invitation invite_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC inviting_user_email: type: string maxLength: 254 description: User email address project_name: type: string maxLength: 63 description: Project name required: - invite_code - invite_time - inviting_user_email - project_name job_title: type: string maxLength: 256 description: Job title managed_by_scim: type: boolean description: User management status managing_organization_id: type: string maxLength: 36 description: Organization ID project_membership: type: object description: Project membership and type of membership properties: ANY: type: string description: Project member type enum: - admin - developer - operator - organization:app_users:write - organization:audit_logs:read - organization:billing:read - organization:billing:write - organization:domains:write - organization:groups:write - organization:networking:read - organization:networking:write - organization:projects:write - organization:users:write - project:audit_logs:read - project:integrations:read - project:integrations:write - project:networking:read - project:networking:write - project:permissions:read - project:services:read - project:services:write - read_only - role:organization:admin - role:project:admin - role:services:maintenance - role:services:recover - service:configuration:write - service:data:write - service:logs:read - service:metrics:read - service:secrets:read - service:users:write project_memberships: type: object description: List of project membership and type of membership properties: ANY: type: array description: List of project member type items: type: string projects: type: array description: List of projects the user is a member of items: type: string real_name: type: string maxLength: 256 description: User real name state: type: string description: User account state tenant: type: string maxLength: 64 description: Tenant identifier token_validity_begin: type: string maxLength: 36 description: Earliest valid authentication token timestamp user: type: string maxLength: 254 description: User email address user_id: type: string description: User ID required: - auth - invitations - project_membership - project_memberships - projects - real_name - state - tenant - user - user_id required: - user UserAuthenticationMethodsListResponse: type: object description: UserAuthenticationMethodsListResponse properties: authentication_methods: type: array description: List of linked authentication methods items: type: object properties: authentication_method_account_id: type: string maxLength: 36 description: Account ID create_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC currently_active: type: boolean description: true if API was accessed with this authentication method delete_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC last_used_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC method_id: type: string description: Unique ID for authentication method name: type: string maxLength: 128 description: Authentication method name public_remote_identity: type: string description: Identity on remote provider, if available. May be email address, but not necessarily. remote_provider_id: type: string description: Provider ID state: type: string description: State for authentication method enum: - active - deleted update_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC user_email: type: string maxLength: 254 description: User email address required: - authentication_method_account_id - create_time - currently_active - delete_time - last_used_time - method_id - public_remote_identity - remote_provider_id - state - update_time - user_email errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request required: - authentication_methods UserPasswordChangeRequestBody: type: object description: UserPasswordChangeRequestBody properties: new_password: type: string maxLength: 256 description: New password password: type: string maxLength: 256 description: Current password required: - new_password - password UserAuthLoginOptionsRequestBody: type: object description: UserAuthLoginOptionsRequestBody properties: email: type: string maxLength: 254 description: User email address UserAccountInvitesListResponse: type: object description: UserAccountInvitesListResponse properties: account_invites: type: array description: List of invites items: type: object properties: account_id: type: string maxLength: 36 description: Account ID account_name: type: string maxLength: 83 description: Account name create_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC invited_by_user_email: type: string maxLength: 254 description: User email address team_id: type: string maxLength: 32 description: Team ID team_name: type: string maxLength: 128 description: Team name user_email: type: string maxLength: 254 description: User email address required: - account_id - account_name - create_time - invited_by_user_email - team_id - team_name - user_email errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request required: - account_invites UserAuthLoginOptionsResponse: type: object description: UserAuthLoginOptionsResponse properties: None: type: array description: List of available login methods items: type: object properties: {} action: type: string description: Action enum: - azure_oauth - github_oauth - google_oauth - hasura_oauth - password - saml - signup method: type: string description: HTTP method used for redirecting enum: - POST - GET name: type: string description: Human readable name redirect_url: type: string description: Redirect URL for signing in required: - action CheckPasswordStrengthExistingUserResponse: type: object description: CheckPasswordStrengthExistingUserResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request password_strength: type: object description: Password strength properties: is_acceptable: type: boolean description: True if the password is acceptable message: type: string description: Password strength message score: type: integer minimum: 0 maximum: 4 description: Password strength score required: - message - score required: - password_strength UserVerifyEmailResponse: type: object description: UserVerifyEmailResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status invite_details: type: object description: Details of verified invite properties: user_email: type: string maxLength: 254 description: User email address required: - user_email message: type: string description: Printable result of the request required: - invite_details TwoFactorAuthConfigureRequestBody: type: object description: TwoFactorAuthConfigureRequestBody properties: method: type: string maxLength: 32 description: Two-factor authentication method being used, if any password: type: string maxLength: 256 description: Current password required: - method - password OrganizationUserGetResponse: type: object description: OrganizationUserGetResponse properties: is_super_admin: type: boolean description: Super admin state of the organization user join_time: type: string maxLength: 36 description: Join time last_activity_time: type: string maxLength: 36 description: Last activity time user_id: type: string description: User ID user_info: type: object description: OrganizationUserInfo properties: city: type: string maxLength: 512 description: City country: type: string description: Country create_time: type: string maxLength: 36 description: Creation time department: type: string description: Department is_application_user: type: boolean description: Is Application User job_title: type: string description: Job Title managed_by_scim: type: boolean description: Managed By Scim managing_organization_id: type: string maxLength: 36 description: Managing Organization ID real_name: type: string maxLength: 256 description: Real Name state: type: string description: State user_email: type: string maxLength: 254 description: User Email required: - create_time - is_application_user - managed_by_scim - real_name - state - user_email required: - is_super_admin - join_time - last_activity_time - user_id - user_info UserExpireTokensResponse: type: object description: UserExpireTokensResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request UserUpdateRequestBody: type: object description: UserUpdateRequestBody properties: city: type: string maxLength: 256 description: City country: type: string maxLength: 256 description: Country code ISO 3166-1 alpha-2 department: type: string maxLength: 256 description: Job department job_title: type: string maxLength: 256 description: Job title real_name: type: string maxLength: 256 description: User real name required: - real_name TwoFactorAuthConfigureOTPResponse: type: object description: TwoFactorAuthConfigureOTPResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request method: type: string maxLength: 32 description: Two-factor authentication method being used, if any token: type: string description: New API session authentication token when configuration is complete required: - method - token TwoFactorAuthConfigureResponse: type: object description: TwoFactorAuthConfigureResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request method: type: string maxLength: 32 description: Two-factor authentication method being used, if any qrcode: type: string description: QR code describing the TOTP as a base64-encoded PNG uri: type: string maxLength: 2048 description: URI describing the TOTP required: - method UserAccountInvitesAcceptResponse: type: object description: UserAccountInvitesAcceptResponse properties: account_invites: type: array description: List of invites items: type: object properties: account_id: type: string maxLength: 36 description: Account ID account_name: type: string maxLength: 83 description: Account name create_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC invited_by_user_email: type: string maxLength: 254 description: User email address team_id: type: string maxLength: 32 description: Team ID team_name: type: string maxLength: 128 description: Team name user_email: type: string maxLength: 254 description: User email address required: - account_id - account_name - create_time - invited_by_user_email - team_id - team_name - user_email errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request required: - account_invites AccessTokenRevokeResponse: type: object description: AccessTokenRevokeResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request AccessTokenCreateResponse: type: object description: AccessTokenCreateResponse properties: create_time: type: string description: Timestamp when the access token was created created_manually: type: boolean description: True for tokens explicitly created via the access_tokens API, false for tokens created via login. currently_active: type: boolean description: true if API request was made with this access token description: type: string maxLength: 1000 description: Name / description of an access token errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status expiry_time: type: string description: Timestamp when the access token will expire unless extended, if ever extend_when_used: type: boolean description: Extend token expiration time when token is used. Only applicable if max_age_seconds is specified. full_token: type: string description: This full access token can be used to make API calls. This can also be used to update or revoke tokens. Note that when using this token with the update and revoke APIs it must be URL encoded because it may contain /, + and = characters (/ => %2F, + => %2B, = => %3D). ip_allowlist: type: array maxItems: 100 description: List of allowed IP ranges items: type: string last_ip: type: string description: IP address the access token was last used from in case it has ever been used last_used_time: type: string description: Timestamp when the access token was last used, if ever last_user_agent: type: string description: User agent string of the client that last used the token in case it has ever been used last_user_agent_human_readable: type: string description: Human readable user agent string of the client that last used the token in case user agent is known max_age_seconds: type: number minimum: 600 maximum: 315360000 description: Time the token remains valid since creation (or since last use if extend_when_used is true) message: type: string description: Printable result of the request scopes: type: array maxItems: 100 description: Scopes this token is restricted to, if specified items: type: string token_prefix: type: string description: First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ => %2F, + => %2B, = => %3D). required: - create_time - created_manually - extend_when_used - full_token - max_age_seconds - token_prefix OrganizationUserAuthenticationMethodsListResponse: type: object description: OrganizationUserAuthenticationMethodsListResponse properties: authentication_methods: type: array description: List of authentication methods for the organization user items: type: object properties: is_enabled_2fa: type: boolean description: Verifies if 2FA is enabled for the user default: false last_used_time: type: string maxLength: 36 description: Last activity time with the authentication method local_provider_id: type: string description: Local authentication method provider resource ID method_id: type: string description: User authentication method ID name: type: string description: Name of the organization authentication method organization_id: type: string description: Organization ID remote_provider_id: type: string description: Remote authentication method provider ID type: type: string description: Type of the organization authentication method user_email: type: string description: User's email address for the authentication method user_id: type: string description: User ID required: - remote_provider_id required: - authentication_methods UserAuthResponse: type: object description: UserAuthResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request return_url: type: string description: Return URL state: type: string description: User account state tenant: type: string maxLength: 64 description: Tenant identifier token: type: string description: API session authentication token user_email: type: string maxLength: 254 description: User email address required: - state - token - user_email UserUpdateResponse: type: object description: UserUpdateResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request user: type: object description: User information properties: auth: type: array description: List of user's required authentication methods items: type: string city: type: string maxLength: 256 description: City country: type: string maxLength: 256 description: Country code ISO 3166-1 alpha-2 create_time: type: string maxLength: 36 description: User registration time department: type: string maxLength: 256 description: Job department features: type: object description: Feature flags properties: {} invitations: type: array description: List of pending invitations items: type: object properties: invite_code: type: string description: Code for accepting the invitation invite_time: type: string maxLength: 36 description: Timestamp in ISO 8601 format, always in UTC inviting_user_email: type: string maxLength: 254 description: User email address project_name: type: string maxLength: 63 description: Project name required: - invite_code - invite_time - inviting_user_email - project_name job_title: type: string maxLength: 256 description: Job title managed_by_scim: type: boolean description: User management status managing_organization_id: type: string maxLength: 36 description: Organization ID project_membership: type: object description: Project membership and type of membership properties: ANY: type: string description: Project member type enum: - admin - developer - operator - organization:app_users:write - organization:audit_logs:read - organization:billing:read - organization:billing:write - organization:domains:write - organization:groups:write - organization:networking:read - organization:networking:write - organization:projects:write - organization:users:write - project:audit_logs:read - project:integrations:read - project:integrations:write - project:networking:read - project:networking:write - project:permissions:read - project:services:read - project:services:write - read_only - role:organization:admin - role:project:admin - role:services:maintenance - role:services:recover - service:configuration:write - service:data:write - service:logs:read - service:metrics:read - service:secrets:read - service:users:write project_memberships: type: object description: List of project membership and type of membership properties: ANY: type: array description: List of project member type items: type: string projects: type: array description: List of projects the user is a member of items: type: string real_name: type: string maxLength: 256 description: User real name state: type: string description: User account state tenant: type: string maxLength: 64 description: Tenant identifier token_validity_begin: type: string maxLength: 36 description: Earliest valid authentication token timestamp user: type: string maxLength: 254 description: User email address user_id: type: string description: User ID required: - auth - invitations - project_membership - project_memberships - projects - real_name - state - tenant - user - user_id required: - user AccessTokenUpdateRequestBody: type: object description: AccessTokenUpdateRequestBody properties: description: type: string maxLength: 1000 description: Name / description of an access token required: - description UserPasswordResetResponse: type: object description: UserPasswordResetResponse properties: errors: type: array description: List of errors occurred during request processing items: type: object properties: message: type: string description: Printable error message more_info: type: string description: URL to the documentation of the error status: type: integer description: HTTP error status code required: - message - status message: type: string description: Printable result of the request OrganizationUserUpdateResponse: type: object description: OrganizationUserUpdateResponse properties: is_super_admin: type: boolean description: Super admin state of the organization user join_time: type: string maxLength: 36 description: Join time last_activity_time: type: string maxLength: 36 description: Last activity time user_id: type: string description: User ID user_info: type: object description: OrganizationUserInfo properties: city: type: string maxLength: 512 description: City country: type: string description: Country create_time: type: string maxLength: 36 description: Creation time department: type: string description: Department is_application_user: type: boolean description: Is Application User job_title: type: string description: Job Title managed_by_scim: type: boolean description: Managed By Scim managing_organization_id: type: string maxLength: 36 description: Managing Organization ID real_name: type: string maxLength: 256 description: Real Name state: type: string description: State user_email: type: string maxLength: 254 description: User Email required: - create_time - is_application_user - managed_by_scim - real_name - state - user_email required: - is_super_admin - join_time - last_activity_time - user_id - user_info parameters: referral_code: in: path name: referral_code description: Referral Code schema: type: string required: true user_authentication_method_id: in: path name: user_authentication_method_id description: User authentication method ID schema: type: string required: true user_id: in: path name: user_id description: User ID schema: type: string required: true organization_id: in: path name: organization_id description: ID of an organization schema: type: string required: true member_user_id: in: path name: member_user_id description: ID of the organization's user schema: type: string required: true verification_code: in: path name: verification_code description: Verification code received via email schema: type: string required: true credit_code: in: path name: credit_code description: Credit Code schema: type: string required: true token_prefix: in: path name: token_prefix description: Access token prefix schema: type: string required: true organizationuserlist_include_application_users: in: query name: include_application_users description: Include application users in the response. Defaults to true. schema: type: boolean required: false securitySchemes: tokenAuth: description: 'Header should be of the format `authorization: aivenv1 `. Tokens can be obtained from [your Aiven profile page](https://console.aiven.io/profile/auth)' scheme: bearer type: http oauth2: type: oauth2 description: OAuth2 security scheme flows: authorizationCode: authorizationUrl: https://console.aiven.io/oauth/authorize tokenUrl: https://api.aiven.io/v1/oauth2/token scopes: all: Provide full access to the API accounts: Allow enumerating and reading accounts configuration accounts:read: Allow modifying account configuration accounts:write: Provides full access to authentication related API authentication: Provides full access to authentication related API authentication:read: Allow reading authentication related configuration on resources (user profile, accounts) authentication:write: Allow modifying authentication related configurations on resources (user profile, accounts) billing: Provide full access to billing APIs billing:read: Allow reading billing information and configuration billing:write: Allow writing billing configuration payments: Provide full access to payment method APIs payments:read: Allow reading the payment method configurations payments:write: Allows writing payment method configuration privatelink: Provide full access to private link APIs privatelink:read: Allow enumerating and reading private link items and configurations privatelink:write: Allow writing (creating, modifying, deleting) private link items projects: Provide full access to projects APIs projects:read: Allow enumerating projects and reading their configuration projects:write: Allow writing (creating, modifying, deleting) projects scim: Provide full access to SCIM operations scim:read: Allow reading SCIM endpoints scim:write: Allow writing (modifying) SCIM endpoints services: Provide full access to services APIs services:read: Allow enumerating services and reading their configuration services:write: Allow writing (creating, modifying, deleting) services static_ips: Provide full access to static IPs APIs static_ips:read: Allow enumerating and reading static IP items and configurations static_ips:write: Allow writing (creating, modifying, deleting) static IP items tickets: Provide full access to support ticket APIs tickets:read: Allow enumerating and reading support tickets tickets:write: Allow writing (creating, modifying) support tickets user: Provide full access to user profile APIs user:read: Allow reading user profile and configuration user:write: Allow writing (modifying) user profile and configuration externalDocs: description: Aiven CLI client url: https://github.com/aiven/aiven-client