Aiven API Documentation (v1)

Download OpenAPI specification:Download

Introduction

Aiven 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, Aiven Terraform Provider, Aiven CLI, and Aiven Operator for Kubernetes. All of them are built on an open secure powerful REST API for integration with custom tooling.

The Aiven REST API provides programmatic access to Aiven.io services. To call the Aiven API, you can use either CLI tools (for example, cURL or Aiven CLI client) or GUI tools, such as the Aiven public API Postman collection.

This Aiven API documentation will help you operate your Aiven organization, projects, or services programmatically by integrating your applications and processes with Aiven.

Description

Aiven's APIs (Application Programming Interfaces) 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.

The Aiven API is organized around core resources. Each core resource has multiple endpoints, which can be interacted with using different HTTP methods.

Core resources

Platform APIs

Account
Operations on the organization level related to accounts, projects, teams, users, invites, billing groups, payment methods, credit cards, authentication methods, and more
User
Operations related to users and users' profiles, access, authentication, authorization, user management, and more
Project
General operations on projects related to users, VPCs, invitations, alerts, peering connections, and more
BillingGroup
Operation on invoices, billing groups' credits and events
Support ticket
Operations on support tickets: listing, creating, looping users in

Services APIs

Service
All general (non-service-specific) operations on the service level: service creation, termination, configuration, updates, information retrieval, reset, and more
Service Integrations
Operations related to integrating services and managing service integrations
Service: ClickHouse
ClickHouse-specific operations on queries and databases
Service: Flink
Operations on Flink queries, jobs, and applications
Service: Kafka
Kafka and Kafka Connect specific operations on connectors, ACL entries, quotas, topics, topic messages, schema registry, and more
Service: Kafka MirrorMaker
Operations on replication flows
Service: MySQL
Fetching service query statistics
Service: OpenSearch
Operations on ACL configuration, security administration and configuration
Service: PostgreSQL
Operations on extensions, service query statistics, and connection pools

Requests

There 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).

To send an API request, you need to specify the following:

  • HTTP method

  • Path

  • Request headers

    Typically, content-type needs to be set to application/json: content-type: application/json. There are a few exceptions though.

  • Path, query, or body parameters (either required or optional).

curl --request POST \
  --url https://api.aiven.io/v1/project/{project}/vpcs \
  --header 'Authorization: aivenv1 REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data
     '{
        "cloud_name": "string",
        "network_cidr": "string",
        "peering_connections": [
          {
            "peer_azure_app_id": "string",
            "peer_azure_tenant_id": "string",
            "peer_cloud_account": "string",
            "peer_region": "string",
            "peer_resource_group": "string",
            "peer_vpc": "string",
            "user_peer_network_cidrs": [
              "string"
            ]
          }
        ]
      }'

Responses

Upon 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).

{
    "cloud_name": "string",
    "create_time": "string",
    "message": "string",
    "network_cidr": "string",
    "peering_connections": [
        { ... }
    ],
    "pending_build_only_peering_connections": "string",
    "project_vpc_id": "string",
    "state": "ACTIVE",
    "update_time": "string"
}

Successful responses

A successful API response returns an HTTP result code between 200 and 299.

Example of the created response

  {
      "service": {
          "service_name": "foobar",
          ...
      }
  }

Failed responses

A 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

{
  "errors": [
    {
      "error_code": "authentication_failed",
      "message": "Authentication failed",
      "status": 403,
      "metadata": {
        ...
      }
    }
  ],
  "message": "Authentication failed"
}

For information on errors' properties and error codes, check Errors.

Get started

Check out how to start using the Aiven API either in API quick start or Your first API call.

Authentication

tokenAuth

Header should be of the format authorization: aivenv1 <TOKEN>. Tokens can be obtained from your Aiven profile page

Security Scheme Type: HTTP
HTTP Authorization Scheme: bearer

oauth2

OAuth2 security scheme

Security Scheme Type: OAuth2
Flow type: authorizationCode
Token URL: 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

Errors

When 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:

{
  "errors": [
    {
      "error_code": "not_powered",
      "message": "Database not powered on",
      "status": 409
    }
  ],
  "message": "Database not powered on"
}

Check a response for errors

If 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.

{
  "errors": [
    {
      "error_code": "account_not_found",
      "message": "Account does not exist",
      "status": 404
    }
  ],
  "message": "Account does not exist"
}

Errors' properties

In an API response, one or more errors may be included in the errors array of objects. Each error object may contain a few properties:

  • status (required) is an HTTP error code, which can be used to programmatically identify the error type.

    • 200 <= status< 300 means a successful request.
    • 300 <= status <= 500 means a failed request.

    errors can have the following HTTPS status codes:

    • 200 - OK
    • 201 - Created
    • 400 - Bad Request
    • 401 - Unauthorized
    • 403 - Forbidden
    • 404 - Not found
    • 405 - Method Not Allowed
    • 409 - Conflict
    • 500 - Internal Server Error
  • message (required) is human-readable information on the error.

  • error_code is a machine-readable information on the error (see Error codes).

Error codes

Machine-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:

  • account_already_exists
  • account_already_has_organization
  • account_and_project_do_not_match
  • account_and_project_must_belong_same_tenant
  • account_cannot_be_own_ancestor
  • account_must_have_enabled_authentication_method
  • account_not_found
  • account_team_not_found
  • account_unit_cannot_create_for_personal_tier
  • account_unit_cannot_have_billing_group
  • account_with_child_accounts_cannot_be_deleted
  • account_with_projects_cannot_be_deleted
  • action_forbidden_for_application_users
  • action_forbidden_for_managed_users
  • action_forbidden_for_marketplace_users
  • action_forbidden_for_scim_users
  • action_forbidden_for_timescale_users
  • action_forbidden_missing_governance_usergroup
  • action_forbidden_on_application_users
  • action_forbidden_on_topic_request
  • action_forbidden_on_unmanaged_users
  • address_already_belongs_to_organization
  • address_in_use
  • address_must_belong_to_organization
  • address_not_found
  • approval_forbidden_on_topic_request
  • approval_missing_on_request
  • auth_token_max_age_too_low
  • authentication_method_disable_current_not_allowed
  • authentication_method_does_not_allow_auto_join_user_group
  • authentication_method_limit_reached
  • authentication_method_not_found
  • backup_failed
  • billing_address_not_found
  • billing_group_not_found
  • billing_group_organization_active_trial
  • billing_group_owning_account_must_be_organization
  • ca_version_not_in_sequence
  • cannot_delete_active_managed_users
  • cannot_delete_users_with_organizations_memberships
  • cannot_move_project_not_assigned_to_organization
  • cannot_remove_managed_users_from_organization
  • cannot_set_groups_managed_by_scim_as_auto_join_group
  • credit_card_not_found
  • custom_cloud_environment_internal
  • custom_cloud_environment_not_found
  • decline_forbidden_on_topic_request
  • deleting_forbidden_on_topic_request
  • discount_not_found
  • feature_not_enabled
  • free_trial_extensions_not_available
  • free_trial_max_extended
  • free_trial_not_active
  • free_trial_not_available
  • governance_configuration_already_exists
  • governance_configuration_not_found
  • governance_group_not_found
  • governance_invalid_service_type
  • idp_no_domains_linked
  • internal_server_error
  • invalid_currency_code
  • invalid_date_format
  • invalid_governance_group_provided
  • invalid_kafka_topic_request_type
  • invalid_os_migration_command
  • invalid_owner_user_group
  • invalid_scim_user_state_update
  • invalid_service_type
  • invitation_expired
  • invitation_not_found
  • kafka_acl_not_supported
  • kafka_console_governance_enabled
  • kafka_governance_not_available
  • kafka_governance_not_enabled
  • kafka_governance_policy_incomplete
  • kafka_partition_reassignment_in_progress
  • kafka_service_unavailable
  • kafka_topic_already_exists
  • kafka_topic_invalid_config
  • kafka_topic_not_found
  • kafka_topic_queued_for_deletion
  • kafka_topic_reserved
  • marketplace_aws_customer_or_product_details_not_found
  • marketplace_subscription_already_linked_to_organization
  • marketplace_subscription_link_expired
  • marketplace_subscription_no_access
  • metadata_validation_failed
  • mfa_required_by_organization
  • mp_account_with_active_subscription_deleted
  • mp_account_with_commitment_deleted
  • mp_account_with_support_contract_deleted
  • mp_subscription_not_found
  • nested_account_cannot_have_authentication_method
  • nested_account_cannot_have_user_groups
  • no_failed_os_migration
  • node_prune_version_not_updated
  • not_powered
  • optimization_failed
  • optimization_not_found
  • organization_aiven_enterprise_contract_denied
  • organization_aiven_enterprise_contract_feature_denied
  • organization_aiven_enterprise_denied
  • organization_aiven_enterprise_organization_required
  • organization_cannot_exist_without_root_account
  • organization_domain_already_linked
  • organization_domain_not_found
  • organization_domain_not_root
  • organization_domain_verification_failed
  • organization_kafka_topics_invalid_filters
  • organization_mismatch
  • organization_must_have_one_super_admin
  • organization_not_found
  • organization_pending_support_contract_already_exists
  • organization_support_contract_tier_not_supported
  • organization_tier_downgrade_not_allowed
  • organization_user_not_found
  • orphaned_project_not_allowed
  • parent_account_cannot_be_own_ancestor
  • parent_account_not_found
  • parent_account_tenant_invalid
  • parent_account_too_deep
  • permission_denied
  • pg_publication_not_found
  • pg_replication_slot_not_found
  • project_account_not_active
  • project_already_exists
  • project_belongs_to_account_billing_group_must_use_api
  • project_does_not_exist
  • project_has_no_such_user
  • project_limitation_not_found
  • project_move_invalid
  • project_move_organizations_internal_config_not_match
  • project_not_found
  • project_without_billing_group_must_be_assigned_from_account
  • query_validation_failed
  • replication_already_exists
  • replication_config_invalid
  • replication_not_found
  • replication_service_not_found
  • request_already_exists
  • request_forbidden
  • request_not_found
  • resource_managed_by_governance
  • resource_managed_by_scim
  • resource_not_managed_by_scim
  • root_account_required
  • same_organization_required
  • schema_insights_failed
  • service_acl_not_found
  • service_acl_too_many
  • service_does_not_exist
  • service_governance_not_enabled
  • service_integration_endpoint_not_found
  • service_integration_not_found
  • service_integration_project_mismatch_source_destination
  • service_maintenance_required
  • service_not_found
  • service_type_not_allowed
  • shipping_address_not_found
  • signup_welcome_invalid_key
  • stripe_customer_owning_account_must_be_organization
  • support_contract_and_account_must_be_in_same_organization
  • support_contract_earliest_cancellation_date_later_than_end_date
  • support_contract_must_have_billing_group
  • support_contract_null_tier
  • team_limit_exceeded
  • team_names_must_be_unique
  • tenant_mismatch
  • topic_not_found
  • unable_to_parse_query
  • unit_cannot_be_moved_out_of_organization
  • unknown_user_sso_login_attempt
  • unsupported_resource_type
  • user_already_in_organization
  • user_already_invited_to_organization
  • user_config_2fa_otp_verification_failed
  • user_deactivated
  • user_domain_does_not_belong_to_organization_or_no_linked_auth_method
  • user_group_names_must_be_unique
  • user_group_not_found
  • user_groups_belong_to_different_accounts
  • user_groups_must_be_from_same_account
  • user_has_no_access_to_billing_info
  • user_has_no_access_to_project_with_current_authentication_method
  • user_has_to_sign_in_with_non_account_authentication_method
  • user_has_too_many_disk_addition_requests
  • user_is_internal_user
  • user_not_account_owner
  • user_not_account_owner_of_billing_group
  • user_not_account_owner_of_parent_account
  • user_not_admin_of_account_billing_group
  • user_not_application_user
  • user_not_found
  • user_not_managed_by_organization
  • user_not_organization_admin
  • user_not_signed_in_with_account_authentication_method
  • user_oauth_authentication_method_not_allowed
  • user_password_authentication_method_not_allowed
  • user_personal_token_allowed_authentication_methods_cannot_be_disabled
  • user_personal_token_not_allowed
  • user_personal_tokens_cannot_be_disabled
  • user_role_not_allowed_to_perform_operation
  • user_saml_authentication_method_not_allowed
  • user_weblink_action_expired
  • users_belong_to_different_tenant_from_user_group_account

Account

Attach payment method for account

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Request Body schema: application/json
payment_method_id
required
string <= 256 characters

Unique identifier for a Stripe payment method

Responses

Request samples

Content type
application/json
{
  • "payment_method_id": "string"
}

Response samples

Content type
application/json
{
  • "card": {
    },
  • "errors": [
    ],
  • "message": "string"
}

List credit cards attached as a payment method to the account

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/payment_methods',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "cards": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create a new authentication method

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Request Body schema: application/json
auth_token_extend_when_used
boolean

Extend authentication token validity when used

auth_token_max_age_seconds
integer [ 300 .. 1296000 ]

Auth Token Max Age Seconds

authentication_method_name
required
string <= 128 characters

Authentication Method Name

authentication_method_type
required
string
Enum: "internal" "saml"

Authentication method type

auto_join_team_id
string <= 32 characters

Automatically add users to a team, when user signs up using this authentication method

auto_join_user_group_id
string <= 36 characters

Automatically add users to a group, when user signs up using this authentication method

Array of objects

Linked Domains

saml_assertion_signed_enabled
boolean

Set to 'true' to enable WantAssertionsSigned

saml_authn_requests_signed_enabled
boolean

Set to 'true' to enable AuthnRequestsSigned

saml_certificate
string <= 16384 characters

Identity provider's certificate

saml_digest_algorithm
string
Enum: "sha1" "sha256" "sha384" "sha512"

Digest algorithm. This is an advanced option that typically does not need to be set.

saml_entity_id
string <= 2048 characters

Saml Entity ID

object

SAMLFieldMapping

saml_idp_login_allowed
boolean

Set to 'true' to enable IdP initiated login

saml_idp_url
string <= 2048 characters

Saml Idp Url

saml_join_groups
boolean

SAML join groups enabled

saml_requested_authn_context_enabled
boolean

Set to 'false' to disable RequestedAuthnContext

saml_signature_algorithm
string
Enum: "rsa-sha1" "dsa-sha1" "rsa-sha256" "rsa-sha384" "rsa-sha512"

SAMLSignatureAlgorithm

saml_variant
string
Value: "adfs"

SAMLVariant

scim_enabled
boolean

SCIM enabled

Responses

Request samples

Content type
application/json
{
  • "auth_token_extend_when_used": true,
  • "auth_token_max_age_seconds": 300,
  • "authentication_method_name": "string",
  • "authentication_method_type": "internal",
  • "auto_join_team_id": "string",
  • "auto_join_user_group_id": "string",
  • "linked_domains": [
    ],
  • "saml_assertion_signed_enabled": true,
  • "saml_authn_requests_signed_enabled": true,
  • "saml_certificate": "string",
  • "saml_digest_algorithm": "sha1",
  • "saml_entity_id": "string",
  • "saml_field_mapping": {
    },
  • "saml_idp_login_allowed": true,
  • "saml_idp_url": "string",
  • "saml_join_groups": true,
  • "saml_requested_authn_context_enabled": true,
  • "saml_signature_algorithm": "rsa-sha1",
  • "saml_variant": "adfs",
  • "scim_enabled": true
}

Response samples

Content type
application/json
{
  • "authentication_method": {
    }
}

List authentication methods

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/authentication',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "authentication_methods": [
    ]
}

Delete authentication method

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

account_authentication_method_id
required
string

Account authentication method ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/authentication/%7Baccount_authentication_method_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "message": "string"
}

Get details of a single authentication method

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

account_authentication_method_id
required
string

Account authentication method ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/authentication/%7Baccount_authentication_method_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "authentication_method": {
    }
}

Update authentication method

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

account_authentication_method_id
required
string

Account authentication method ID

Request Body schema: application/json
auth_token_extend_when_used
boolean

Extend authentication token validity when used

auth_token_max_age_seconds
integer [ 300 .. 1296000 ]

Auth Token Max Age Seconds

authentication_method_enabled
boolean

If true, authentication method can be used to access account/projects in account. If false, authentication method can still be used to sign in

authentication_method_name
string <= 128 characters

Authentication Method Name

auto_join_team_id
string <= 32 characters

Automatically add users to a team, when user signs up using this authentication method

auto_join_user_group_id
string <= 36 characters

Automatically add users to a group, when user signs up using this authentication method

saml_assertion_signed_enabled
boolean

Set to 'true' to enable WantAssertionsSigned

saml_authn_requests_signed_enabled
boolean

Set to 'true' to enable AuthnRequestsSigned

saml_certificate
string <= 16384 characters

Identity provider's certificate

saml_digest_algorithm
string
Enum: "sha1" "sha256" "sha384" "sha512"

Digest algorithm. This is an advanced option that typically does not need to be set.

saml_entity_id
string <= 2048 characters

Saml Entity ID

object

SAMLFieldMapping

saml_idp_login_allowed
boolean

Set to 'true' to enable IdP initiated login

saml_idp_url
string <= 2048 characters

Saml Idp Url

saml_join_groups
boolean

SAML join groups enabled

saml_requested_authn_context_enabled
boolean

Set to 'false' to disable RequestedAuthnContext

saml_signature_algorithm
string
Enum: "rsa-sha1" "dsa-sha1" "rsa-sha256" "rsa-sha384" "rsa-sha512"

SAMLSignatureAlgorithm

saml_variant
string
Value: "adfs"

SAMLVariant

scim_enabled
boolean

SCIM enabled

Responses

Request samples

Content type
application/json
{
  • "auth_token_extend_when_used": true,
  • "auth_token_max_age_seconds": 300,
  • "authentication_method_enabled": true,
  • "authentication_method_name": "string",
  • "auto_join_team_id": "string",
  • "auto_join_user_group_id": "string",
  • "saml_assertion_signed_enabled": true,
  • "saml_authn_requests_signed_enabled": true,
  • "saml_certificate": "string",
  • "saml_digest_algorithm": "sha1",
  • "saml_entity_id": "string",
  • "saml_field_mapping": {
    },
  • "saml_idp_login_allowed": true,
  • "saml_idp_url": "string",
  • "saml_join_groups": true,
  • "saml_requested_authn_context_enabled": true,
  • "saml_signature_algorithm": "rsa-sha1",
  • "saml_variant": "adfs",
  • "scim_enabled": true
}

Response samples

Content type
application/json
{
  • "authentication_method": {
    }
}

List account billing groups

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/billing-group',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "account_billing_groups": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create a new account

Authorizations:
(tokenAuthoauth2)
Request Body schema: application/json
account_name
required
string <= 128 characters

Account name

parent_account_id
string <= 36 characters

Account ID

primary_billing_group_id
string = 36 characters

Billing group ID

Responses

Request samples

Content type
application/json
{
  • "account_name": "string",
  • "parent_account_id": "string",
  • "primary_billing_group_id": "stringstringstringstringstringstring"
}

Response samples

Content type
application/json
{
  • "account": {
    },
  • "errors": [
    ],
  • "message": "string"
}

List accounts you have access to

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete empty account

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Get account details

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "account": {
    },
  • "errors": [
    ],
  • "message": "string"
}

Update existing account

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Request Body schema: application/json
account_name
string <= 128 characters

Account name

primary_billing_group_id
string = 36 characters

Billing group ID

Responses

Request samples

Content type
application/json
{
  • "account_name": "string",
  • "primary_billing_group_id": "stringstringstringstringstringstring"
}

Response samples

Content type
application/json
{
  • "account": {
    },
  • "errors": [
    ],
  • "message": "string"
}

List account events

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/events',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "events": [
    ],
  • "message": "string"
}

Move an existing organization unitself

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Request Body schema: application/json
parent_account_id
required
string <= 36 characters

Account ID

Responses

Request samples

Content type
application/json
{
  • "parent_account_id": "string"
}

Response samples

Content type
application/json
{
  • "account": {
    },
  • "errors": [
    ],
  • "message": "string"
}

Delete credit card attached to the account as a payment method

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

card_id
required
string

Credit card ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/payment_method/%7Bcard_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

List projects belonging to account

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/projects',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "projects": [
    ],
  • "total_project_count": 0
}

List account teams associated to a project Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

project_name
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/project/%7Bproject_name%7D/teams',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "teams": [
    ]
}

Create a new team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Request Body schema: application/json
team_name
required
string <= 128 characters

Team name

Responses

Request samples

Content type
application/json
{
  • "team_name": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "team": {
    }
}

List teams belonging to an account Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/teams',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "teams": [
    ]
}

Delete a team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Get details for a single team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "team": {
    }
}

Update team details Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Request Body schema: application/json
team_name
required
string <= 128 characters

Team name

Responses

Request samples

Content type
application/json
{
  • "team_name": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "team": {
    }
}

List pending invites Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D/invites',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "account_invites": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Cancel pending user invite Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

user_email
required
string

Email address

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D/invites/%7Buser_email%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Confirm account team invite

path Parameters
account_id
required
string

Account ID

invite_verification_code
required
string

Verification code received via email

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/invite/%7Binvite_verification_code%7D'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "invite_details": {
    },
  • "message": "string"
}

Remove a member from the team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D/member/%7Buser_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Invite a new member to join the team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Request Body schema: application/json
email
required
string <= 319 characters

User email address

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

List members of a single team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D/members',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "members": [
    ],
  • "message": "string"
}

Associate team to a project Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

project
required
string

Project name

Request Body schema: application/json
team_type
required
string
Enum: "admin" "operator" "developer" "read_only" "project:integrations:read" "project:integrations:write" "project:networking:read" "project:networking:write" "project:permissions:read" "service:configuration:write" "service:logs:read" "project:services:read" "project:services:write" "project:audit_logs:read" "service:data:write" "service:secrets:read" "role:services:maintenance" "role:services:recover" "organization:billing:read" "organization:billing:write" "organization:audit_logs:read" "organization:projects:read" "organization:projects:write" "organization:users:write" "organization:permissions:read" "organization:permissions:write" "organization:app_users:write" "organization:groups:write" "organization:idps:write" "organization:domains:write" "organization:network:read" "organization:network:write" "role:organization:admin" "service:users:write"

Team type (permission level)

Responses

Request samples

Content type
application/json
{
  • "team_type": "admin"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Update team-project association Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

project
required
string

Project name

Request Body schema: application/json
team_type
string
Enum: "admin" "operator" "developer" "read_only" "project:integrations:read" "project:integrations:write" "project:networking:read" "project:networking:write" "project:permissions:read" "service:configuration:write" "service:logs:read" "project:services:read" "project:services:write" "project:audit_logs:read" "service:data:write" "service:secrets:read" "role:services:maintenance" "role:services:recover" "organization:billing:read" "organization:billing:write" "organization:audit_logs:read" "organization:projects:read" "organization:projects:write" "organization:users:write" "organization:permissions:read" "organization:permissions:write" "organization:app_users:write" "organization:groups:write" "organization:idps:write" "organization:domains:write" "organization:network:read" "organization:network:write" "role:organization:admin" "service:users:write"

Team type (permission level)

Responses

Request samples

Content type
application/json
{
  • "team_type": "admin"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Disassociate team from a project Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D/project/%7Bproject%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

List projects associated to a team Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

team_id
required
string

Team ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/team/%7Bteam_id%7D/projects',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "projects": [
    ]
}

List projects associated with this account that user has access to

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/user/%7Buser_id%7D/projects',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "user_projects": [
    ]
}

List all teams for user Deprecated

Teams have been deprecated and are being migrated to groups. On 2 September 2024 the Account Owners team will transition to super admin. Super admin have full access to the organization. The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions. From 4 November 2024 you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after this date. On 2 December 2024 all teams will be deleted and the teams feature will be completely removed.

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/account/%7Baccount_id%7D/user/%7Buser_id%7D/teams',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "teams": [
    ]
}

List/search users who are members of any team on this account

Authorizations:
(tokenAuthoauth2)
path Parameters
account_id
required
string

Account ID

Request Body schema: application/json
limit
integer [ 1 .. 500 ]

Maximum number of results to return

order_by
string
Enum: "user_email:asc" "user_email:desc" "user_id:asc" "user_id:desc" "real_name:asc" "real_name:desc"

Sorting criteria; desc is descending order and asc ascending

query
string <= 128 characters

Filter keyword

Responses

Request samples

Content type
application/json
{
  • "limit": 1,
  • "order_by": "user_email:asc",
  • "query": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "users": [
    ]
}

Application Users

Create an application token

Creates a token for an application user.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_id
required
string

User ID

Request Body schema: application/json
description
required
string <= 1000 characters

Description

extend_when_used
boolean

Extend token expiration time when token is used. Only applicable if max_age_seconds is specified.

max_age_seconds
integer [ 600 .. 315360000 ]

Time the token remains valid since creation (or since last use if extend_when_used is true)

scopes
Array of strings <= 100 items

Scopes this token is restricted to if specified

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "extend_when_used": true,
  • "max_age_seconds": 600,
  • "scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "full_token": "string",
  • "token_prefix": "string"
}

List application tokens

Returns a list of tokens for an application user.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/application-users/%7Buser_id%7D/access-tokens',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "tokens": [
    ]
}

Delete an application token

Deletes an application user's token.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_id
required
string

User ID

token_prefix
required
string

Access token prefix

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/application-users/%7Buser_id%7D/access-tokens/%7Btoken_prefix%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Create an application user

Creates an application user in an organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

Request Body schema: application/json
is_super_admin
boolean

Alters super admin state of the organization application user

name
required
string

Name

Responses

Request samples

Content type
application/json
{
  • "is_super_admin": true,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "is_super_admin": true,
  • "name": "string",
  • "user_email": "string",
  • "user_id": "string"
}

List application users

Returns a list of application users for an organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/application-users',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "application_users": [
    ]
}

Delete an application user

Deletes an application user.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/application-users/%7Buser_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Get an application user

Gets profile information for an application user.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/application-users/%7Buser_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "is_super_admin": true,
  • "name": "string",
  • "user_email": "string",
  • "user_id": "string"
}

Update details on an application user of the organization

Update details on an application user of the organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_id
required
string

User ID

Request Body schema: application/json
is_super_admin
boolean

Alters super admin state of the organization application user

name
required
string

Name

Responses

Request samples

Content type
application/json
{
  • "is_super_admin": true,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "is_super_admin": true,
  • "name": "string",
  • "user_email": "string",
  • "user_id": "string"
}

Authentication Methods

List domains linked to an organization's identity provider

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

authentication_method_id
required
string

Organization authentication method ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/authentication-methods/%7Bauthentication_method_id%7D/domains',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "domains": [
    ]
}

BillingGroup

Create a billing group

Authorizations:
(tokenAuthoauth2)
Request Body schema: application/json
account_id
string <= 36 characters

Account ID

address_lines
Array of strings <= 16 items

Address lines

billing_address_id
string = 36 characters

Address ID

billing_currency
string
Enum: "AUD" "CAD" "CHF" "DKK" "EUR" "GBP" "JPY" "NOK" "NZD" "SEK" "SGD" "USD"

Billing currency

Array of objects <= 10 items

List of project billing email addresses

billing_extra_text
string <= 1000 characters

Extra text to be included in all project invoices, e.g. purchase order or cost center number

billing_group_name
required
string <= 128 characters

Billing group name

card_id
string <= 64 characters

Credit card ID

city
string <= 512 characters

Address city

company
string <= 128 characters

Name of a company

copy_from_billing_group
string = 36 characters

Billing group ID

country_code
string <= 2 characters

Two letter country code for billing country

shipping_address_id
string = 36 characters

Address ID

state
string <= 128 characters

Address state or province

vat_id
string <= 64 characters

EU VAT Identification Number

zip_code
string <= 32 characters

Address zip code

Responses

Request samples

Content type
application/json
{
  • "account_id": "string",
  • "address_lines": [
    ],
  • "billing_address_id": "stringstringstringstringstringstring",
  • "billing_currency": "AUD",
  • "billing_emails": [
    ],
  • "billing_extra_text": "string",
  • "billing_group_name": "string",
  • "card_id": "string",
  • "city": "string",
  • "company": "string",
  • "copy_from_billing_group": "stringstringstringstringstringstring",
  • "country_code": "st",
  • "shipping_address_id": "stringstringstringstringstringstring",
  • "state": "string",
  • "vat_id": "string",
  • "zip_code": "string"
}

Response samples

Content type
application/json
{
  • "billing_group": {
    },
  • "errors": [
    ],
  • "message": "string"
}

List billing groups

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "billing_groups": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Claim a credit code

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

Request Body schema: application/json
code
required
string <= 1024 characters

Credit code

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "credit": {
    },
  • "errors": [
    ],
  • "message": "string"
}

List billing group credits

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D/credits',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "credits": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete billing group

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string"
}

Get billing group details

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "billing_group": {
    },
  • "errors": [
    ],
  • "message": "string"
}

Update billing group

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

Request Body schema: application/json
account_id
string <= 36 characters

Account ID

address_lines
Array of strings <= 16 items

Address lines

billing_address_id
string = 36 characters

Address ID

billing_currency
string
Enum: "AUD" "CAD" "CHF" "DKK" "EUR" "GBP" "JPY" "NOK" "NZD" "SEK" "SGD" "USD"

Billing currency

Array of objects <= 10 items

List of project billing email addresses

billing_extra_text
string <= 1000 characters

Extra text to be included in all project invoices, e.g. purchase order or cost center number

billing_group_name
string <= 128 characters

Billing group name

card_id
string <= 64 characters

Credit card ID

city
string <= 512 characters

Address city

company
string <= 128 characters

Name of a company

country_code
string <= 2 characters

Two letter country code for billing country

shipping_address_id
string = 36 characters

Address ID

state
string <= 128 characters

Address state or province

vat_id
string <= 64 characters

EU VAT Identification Number

zip_code
string <= 32 characters

Address zip code

Responses

Request samples

Content type
application/json
{
  • "account_id": "string",
  • "address_lines": [
    ],
  • "billing_address_id": "stringstringstringstringstringstring",
  • "billing_currency": "AUD",
  • "billing_emails": [
    ],
  • "billing_extra_text": "string",
  • "billing_group_name": "string",
  • "card_id": "string",
  • "city": "string",
  • "company": "string",
  • "country_code": "st",
  • "shipping_address_id": "stringstringstringstringstringstring",
  • "state": "string",
  • "vat_id": "string",
  • "zip_code": "string"
}

Response samples

Content type
application/json
{
  • "billing_group": {
    },
  • "errors": [