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
  • api_client_ip_allowlist_blocks_caller
  • 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" "service:users:write" "role:services:maintenance" "role:services:recover" "organization:audit_logs:read" "organization:projects:write" "organization:users:write" "organization:app_users:write" "organization:groups:write" "organization:idps:write" "organization:domains:write" "role:organization:admin"

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" "service:users:write" "role:services:maintenance" "role:services:recover" "organization:audit_logs:read" "organization:projects:write" "organization:users:write" "organization:app_users:write" "organization:groups:write" "organization:idps:write" "organization:domains:write" "role:organization:admin"

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

Array of objects <= 10 items

List of billing groups contact email addresses

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_contact_emails": [
    ],
  • "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

Array of objects <= 10 items

List of billing groups contact email addresses

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_contact_emails": [
    ],
  • "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": [
    ],
  • "message": "string"
}

List billing group events

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/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"
}

Get a single invoice as a CSV of invoice lines

path Parameters
billing_group_id
required
string

Billing group id

invoice_number
required
string

Invoice number

query Parameters
cookie
required
string

Download cookie signature.

project
string

Project name. Only required if the provided cookie comes from the Project Billing API.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D/invoice/%7Binvoice_number%7D/csv',
  qs: {cookie: 'SOME_STRING_VALUE', project: 'SOME_STRING_VALUE'}
};

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

  console.log(body);
});

Download PDF invoice

path Parameters
billing_group_id
required
string

Billing group id

invoice_number
required
string

Invoice number

download_cookie
required
string

Authentication cookie for file download

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D/invoice/%7Binvoice_number%7D/%7Bdownload_cookie%7D'
};

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

  console.log(body);
});

Get a single invoice Deprecated

Use GET /invoices/{invoice_number}

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

invoice_number
required
string

Invoice number

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D/invoice/%7Binvoice_number%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": [
    ],
  • "invoice": {
    },
  • "message": "string"
}

Get invoice lines for a single invoice

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

invoice_number
required
string

Invoice number

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D/invoice/%7Binvoice_number%7D/lines',
  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": [
    ],
  • "lines": [
    ],
  • "message": "string"
}

Get invoices generated for billing group

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/invoice',
  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": [
    ],
  • "invoices": [
    ],
  • "message": "string"
}

Assign project to billing group

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/billing-group/%7Bbilling_group_id%7D/project-assign/%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"
}

Get projects assigned to billing group

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/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": [
    ]
}

Assign projects to billing group

Authorizations:
(tokenAuthoauth2)
path Parameters
billing_group_id
required
string

Billing group id

Request Body schema: application/json
projects_names
required
Array of strings [ 1 .. 1024 ] items

Projects names

Responses

Request samples

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

Response samples

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

Billing

Get a single invoice

Authorizations:
(tokenAuthoauth2)
path Parameters
invoice_number
required
string

Invoice number

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/invoices/%7Binvoice_number%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
{
  • "invoice": {
    }
}

Cloud platforms

List cloud platforms

Returns a list of available cloud platforms.

Responses

Request samples

const request = require('request');

const options = {method: 'GET', url: 'https://api.aiven.io/v1/clouds'};

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

  console.log(body);
});

Response samples

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

List cloud platforms for a project

Returns a list of cloud platforms available for a project.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/clouds',
  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
{
  • "clouds": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

List privatelink clouds and prices

Returns a list of cloud platforms supporting privatelink along with privatelink costs for specific cloud platforms.

path Parameters
tenant
required
string

Aiven tenant ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/tenants/%7Btenant%7D/privatelink-availability'
};

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

  console.log(body);
});

Response samples

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

List static IP clouds and prices

Returns a list of cloud platforms supporting static IP addresses along with static IP addresses costs for specific cloud platforms.

path Parameters
tenant
required
string

Aiven tenant ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/tenants/%7Btenant%7D/static-ip-availability'
};

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

  console.log(body);
});

Response samples

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

Domains

Create a domain

Creates a new domain in an organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

Request Body schema: application/json
domain_name
required
string

Name of the domain to be added

verification_type
string
Enum: "dns" "http"

Type of verification to be made

Responses

Request samples

Content type
application/json
{
  • "domain_name": "string",
  • "verification_type": "dns"
}

Response samples

Content type
application/json
{
  • "challenge_token": "string",
  • "create_time": "string",
  • "domain_id": "string",
  • "domain_name": "string",
  • "linked_authentication_method_ids": [
    ],
  • "organization_id": "string",
  • "state": "deleted",
  • "verification_type": "dns"
}

List domains

Returns a list of all verified domains in 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/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": [
    ]
}

Update a domain

Updates a domain in an organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

domain_id
required
string

ID of a domain

Request Body schema: application/json
verification_type
string
Enum: "dns" "http"

OrganizationDomainVerificationType

Responses

Request samples

Content type
application/json
{
  • "verification_type": "dns"
}

Response samples

Content type
application/json
{
  • "challenge_token": "string",
  • "create_time": "string",
  • "domain_id": "string",
  • "domain_name": "string",
  • "linked_authentication_method_ids": [
    ],
  • "organization_id": "string",
  • "state": "deleted",
  • "verification_type": "dns"
}

Delete a domain

Deletes a domain from an organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

domain_id
required
string

ID of a domain

Responses

Request samples

const request = require('request');

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

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

  console.log(body);
});

Verify a domain

Verifies a domain in an organization. If a user signs up to the Aiven platform with a verified domain, they are automatically added as managed users to the organization that has this domain verified.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

domain_id
required
string

ID of a domain

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/domains/%7Bdomain_id%7D/verify',
  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
{
  • "challenge_token": "string",
  • "create_time": "string",
  • "domain_id": "string",
  • "domain_name": "string",
  • "linked_authentication_method_ids": [
    ],
  • "organization_id": "string",
  • "state": "deleted",
  • "verification_type": "dns"
}

Groups

Create a group

Create a new user group in an organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

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

Description

user_group_name
required
string <= 128 characters

User Group Name

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "user_group_name": "string"
}

Response samples

Content type
application/json
{
  • "create_time": "string",
  • "description": "string",
  • "managed_by_scim": true,
  • "update_time": "string",
  • "user_group_id": "string",
  • "user_group_name": "string"
}

List groups

List all user groups within 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/user-groups',
  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
{
  • "user_groups": [
    ]
}

Delete a group

Delete a user group from an organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_group_id
required
string

ID of the user group

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user-groups/%7Buser_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
{
  • "message": "string",
  • "errors": [
    ]
}

Retrieve a group

Retrieve the details of a user group

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_group_id
required
string

ID of the user group

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user-groups/%7Buser_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
{
  • "create_time": "string",
  • "description": "string",
  • "managed_by_scim": true,
  • "update_time": "string",
  • "user_group_id": "string",
  • "user_group_name": "string"
}

Update a group

Update details of a user group

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_group_id
required
string

ID of the user group

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

Description

user_group_name
string <= 128 characters

User Group Name

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "user_group_name": "string"
}

Response samples

Content type
application/json
{
  • "create_time": "string",
  • "description": "string",
  • "managed_by_scim": true,
  • "update_time": "string",
  • "user_group_id": "string",
  • "user_group_name": "string"
}

List group members

List members of a user group

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_group_id
required
string

ID of the user group

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user-groups/%7Buser_group_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
{
  • "members": [
    ]
}

Add or remove group members

Add or remove members of a user group

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_group_id
required
string

ID of the user group

Request Body schema: application/json
member_ids
required
Array of strings <= 1024 items

List of user IDs to apply the operation on

operation
required
string
Enum: "add_members" "remove_members"

Operation to be performed on the group

Responses

Request samples

Content type
application/json
{
  • "member_ids": [
    ],
  • "operation": "add_members"
}

Response samples

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

Organizations

Retrieve authentication configuration

Retrieve current authentication configuration 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/config/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
{
  • "oauth_enabled": true,
  • "password_auth_enabled": true,
  • "personal_tokens_enabled": true,
  • "personal_tokens_require_allowed_auth_method": true,
  • "saml_allow_external": true,
  • "saml_enabled": true,
  • "two_factor_required": true
}

Update authentication configuration

Update current authentication configuration for an organization.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

Request Body schema: application/json
oauth_enabled
boolean

Organization users are able to use OAuth authentication.

password_auth_enabled
boolean

Organization users are able to use password authentication.

personal_tokens_enabled
boolean

Organization users can use their personal tokens to access the organization through the Aiven API or other applications.

personal_tokens_require_allowed_auth_method
boolean

Organization users are able to use personal tokens that were generated from one of the allowed authentication methods.

saml_allow_external
boolean

Organization users are able to use SAML authentication of other organizations.

saml_enabled
boolean

Organization users are able to use SAML authentication.

two_factor_required
boolean

2FA is required to access resources in this organization.

Responses

Request samples

Content type
application/json
{
  • "oauth_enabled": true,
  • "password_auth_enabled": true,
  • "personal_tokens_enabled": true,
  • "personal_tokens_require_allowed_auth_method": true,
  • "saml_allow_external": true,
  • "saml_enabled": true,
  • "two_factor_required": true
}

Response samples

Content type
application/json
{
  • "oauth_enabled": true,
  • "password_auth_enabled": true,
  • "personal_tokens_enabled": true,
  • "personal_tokens_require_allowed_auth_method": true,
  • "saml_allow_external": true,
  • "saml_enabled": true,
  • "two_factor_required": true
}

Get information about 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',
  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_id": "string",
  • "create_time": "string",
  • "default_governance_user_group_id": "string",
  • "organization_id": "string",
  • "organization_name": "string",
  • "tier": "business",
  • "update_time": "string"
}

Update organization's details

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

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

New name of the organization

tier
string
Enum: "business" "personal"

New tier for the organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "tier": "business"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "create_time": "string",
  • "default_governance_user_group_id": "string",
  • "organization_id": "string",
  • "organization_name": "string",
  • "tier": "business",
  • "update_time": "string"
}

[EXPERIMENTAL] Create project under the organization

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

Request Body schema: application/json
billing_group_id
required
string

Billing group ID to assign to the project. It's required when moving projects between organizations

parent_id
string

Organization or unit ID to where to move the project

project_name
required
string

Project name

required
object

Tags

Responses

Request samples

Content type
application/json
{
  • "billing_group_id": "string",
  • "parent_id": "string",
  • "project_name": "string",
  • "tags": {
    }
}

Response samples

Content type
application/json
{
  • "billing_group_id": "string",
  • "features": {
    },
  • "parent_id": "string",
  • "parent_name": "string",
  • "project_id": "string",
  • "project_name": "string",
  • "tags": {
    }
}

[EXPERIMENTAL] List projects under the organization

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

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/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
}

[EXPERIMENTAL] Delete project under the organization

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

project_id
required
string

Project Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/projects/%7Bproject_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",
  • "errors": [
    ]
}

[EXPERIMENTAL] Update project under the organization

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

project_id
required
string

Project Id

Request Body schema: application/json
billing_group_id
string

Billing group ID to assign to the project. It's required when moving projects between organizations

parent_id
string

Organization or unit ID to where to move the project

project_name
string

Project name

object

Tags

Array of objects

Technical contact emails

Responses

Request samples

Content type
application/json
{
  • "billing_group_id": "string",
  • "parent_id": "string",
  • "project_name": "string",
  • "tags": {
    },
  • "tech_emails": [
    ]
}

Response samples

Content type
application/json
{
  • "billing_group_id": "string",
  • "features": {
    },
  • "parent_id": "string",
  • "parent_name": "string",
  • "project_id": "string",
  • "project_name": "string",
  • "tags": {
    }
}

Accept a user invitation to the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_email
required
string

Email address

Request Body schema: application/json
action
string
Value: "accept"

Action to be performed on the invitation

Responses

Request samples

Content type
application/json
{
  • "action": "accept"
}

Remove an invitation to the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

user_email
required
string

Email address

Responses

Request samples

const request = require('request');

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

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

  console.log(body);
});

List user invitations to the 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/invitation',
  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
{
  • "invitations": [
    ]
}

Invite a user to the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

Request Body schema: application/json
user_email
required
string

User Email

Responses

Request samples

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

Create an organization

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

Organization's name

primary_billing_group_id
string = 36 characters

Billing group ID

tier
required
string
Enum: "business" "personal"

Tier of the organization

Responses

Request samples

Content type
application/json
{
  • "organization_name": "string",
  • "primary_billing_group_id": "stringstringstringstringstringstring",
  • "tier": "business"
}

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "create_time": "string",
  • "default_governance_user_group_id": "string",
  • "organization_id": "string",
  • "organization_name": "string",
  • "tier": "business",
  • "update_time": "string"
}

List organizations the user belongs to

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organizations',
  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
{
  • "organizations": [
    ]
}

Payment

Add credit card for user Deprecated

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

Credit card Stripe token

Responses

Request samples

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

Response samples

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

List user's credit cards Deprecated

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/card',
  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"
}

Delete user's credit card Deprecated

Authorizations:
(tokenAuthoauth2)
path Parameters
card_id
required
string

Credit card ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/card/%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"
}

Update user's credit card Deprecated

Authorizations:
(tokenAuthoauth2)
path Parameters
card_id
required
string

Credit card ID

Request Body schema: application/json
exp_month
integer [ 1 .. 12 ]

Expiration month

exp_year
integer [ 2015 .. 2100 ]

Expiration year

name
string <= 256 characters

Name on the credit card

Responses

Request samples

Content type
application/json
{
  • "exp_month": 1,
  • "exp_year": 2015,
  • "name": "string"
}

Response samples

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

Permissions

[EXPERIMENTAL] List of permissions

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Returns a list of permissions for a resource.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

resource_type
required
string
Enum: "project" "organization" "organization_unit"

Resource type

resource_id
required
string

Resource Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/permissions/%7Bresource_type%7D/%7Bresource_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
{
  • "permissions": [
    ]
}

[EXPERIMENTAL] Set permissions

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Replaces permissions for a resource. The entries entry provided in the request body are applied, replacing all the previously defined permissions defined on the specified resource. Updates are not atomic (changes are computed and each are individually applied); if an error occurs, permissions may have been partially updated. They are however idempotent, so in case of transient errors it is possible to simply retry the request.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

resource_type
required
string
Enum: "project" "organization" "organization_unit"

Resource type

resource_id
required
string

Resource Id

Request Body schema: application/json
required
Array of objects

List of roles to set

Responses

Request samples

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

Response samples

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

[EXPERIMENTAL] Update permissions

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Updates permissions for a resource. Each entry provided in the request body is applied, replacing the previous assignment for the target principal. To remove permission assignments an entry with an empty set of permissions must be provided. Updates are not atomic (each entry is individually applied); if an error occurs, permissions may have been partially updated. They are however idempotent, so in case of transient errors it is possible to simply retry the request.

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

resource_type
required
string
Enum: "project" "organization" "organization_unit"

Resource type

resource_id
required
string

Resource Id

Request Body schema: application/json
required
Array of objects

List of roles to set

Responses

Request samples

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

Response samples

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

Project

List VPC peering connection types for a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpc-peering-connection-types',
  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",
  • "vpc_peering_connection_types": [
    ]
}

List active alerts for a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/alerts',
  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
{
  • "alerts": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create a project

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

Account ID

add_account_owners_admin_access
boolean

[DEPRECATED] If account_id is set, grant account owner team admin access to the new project. This flag is ignored, and assumed true.

address_lines
Array of strings <= 16 items

[DEPRECATED] Address lines

base_port
integer [ 10000 .. 29000 ]

Base value that new services in this project will use to derive their port numbers.

billing_address
string <= 1000 characters

DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead

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

[DEPRECATED] Billing currency

Array of objects <= 10 items

[DEPRECATED] Billing emails

billing_extra_text
string <= 1000 characters

[DEPRECATED] Extra text to be included in all project invoices

billing_group_id
string = 36 characters

Billing group ID

card_id
string <= 64 characters

[DEPRECATED] Credit card ID

city
string <= 512 characters

[DEPRECATED] Address city

cloud
string <= 256 characters

Target cloud

company
string <= 128 characters

Name of a company

copy_from_project
string <= 63 characters

Project name from which to copy settings to the new project

copy_tags
boolean

Copy tags from the source project. If request contains additional tags, the tags copied from source are updated with them.

country_code
string <= 2 characters

[DEPRECATED] Two letter country code for billing country

project
required
string <= 63 characters

Project name

state
string <= 128 characters

[DEPRECATED] Address state

tags
object

Set of resource tags

Array of objects <= 10 items

List of project tech email addresses

use_source_project_billing_group
boolean

Use the same billing group that is used in source project.

vat_id
string <= 64 characters

[DEPRECATED] EU VAT identification

zip_code
string <= 32 characters

[DEPRECATED] Address zip code

Responses

Request samples

Content type
application/json
{
  • "account_id": "string",
  • "add_account_owners_admin_access": true,
  • "address_lines": [
    ],
  • "base_port": 10000,
  • "billing_address": "string",
  • "billing_currency": "AUD",
  • "billing_emails": [
    ],
  • "billing_extra_text": "string",
  • "billing_group_id": "stringstringstringstringstringstring",
  • "card_id": "string",
  • "city": "string",
  • "cloud": "string",
  • "company": "string",
  • "copy_from_project": "string",
  • "copy_tags": true,
  • "country_code": "st",
  • "project": "string",
  • "state": "string",
  • "tags": { },
  • "tech_emails": [
    ],
  • "use_source_project_billing_group": true,
  • "vat_id": "string",
  • "zip_code": "string"
}

Response samples

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

List projects

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project',
  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",
  • "project_membership": {
    },
  • "project_memberships": {
    },
  • "projects": [
    ]
}

Delete project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/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"
}

Get project details

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/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",
  • "project": {
    }
}

Update project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

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

Account ID

add_account_owners_admin_access
boolean

[DEPRECATED] If account_id is set, grant account owner team admin access to this project. This flag is ignored and assumed true.

address_lines
Array of strings <= 16 items

[DEPRECATED] Address lines

billing_address
string <= 1000 characters

DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead

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

[DEPRECATED] Billing currency

Array of objects <= 10 items

[DEPRECATED] List of project billing email addresses

billing_extra_text
string <= 1000 characters

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

billing_group_id
string = 36 characters

Billing group ID

card_id
string <= 64 characters

[DEPRECATED] Credit card ID

city
string <= 512 characters

[DEPRECATED] Address city

cloud
string <= 256 characters

Target cloud

company
string <= 128 characters

Name of a company

country_code
string <= 2 characters

[DEPRECATED] Two letter country code for billing country

project_name
string <= 63 characters

Project name

state
string <= 128 characters

[DEPRECATED] Address state

tags
object

Set of resource tags

Array of objects <= 10 items

List of project tech email addresses

vat_id
string <= 64 characters

[DEPRECATED] EU VAT Identification Number

zip_code
string <= 32 characters

[DEPRECATED] Address zip code

Responses

Request samples

Content type
application/json
{
  • "account_id": "string",
  • "add_account_owners_admin_access": true,
  • "address_lines": [
    ],
  • "billing_address": "string",
  • "billing_currency": "AUD",
  • "billing_emails": [
    ],
  • "billing_extra_text": "string",
  • "billing_group_id": "stringstringstringstringstringstring",
  • "card_id": "string",
  • "city": "string",
  • "cloud": "string",
  • "company": "string",
  • "country_code": "st",
  • "project_name": "string",
  • "state": "string",
  • "tags": { },
  • "tech_emails": [
    ],
  • "vat_id": "string",
  • "zip_code": "string"
}

Response samples

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

Download SBOM report

path Parameters
project
required
string

Project name

file_format
required
string

of the SBOM report

download_cookie
required
string

Authentication cookie for file download

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/download-sbom/%7Bfile_format%7D/%7Bdownload_cookie%7D'
};

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

  console.log(body);
});

Response samples

Content type
No sample

Generate SBOM for project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

file_format
required
string

of the SBOM report

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/generate-sbom-download-url/%7Bfile_format%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
{
  • "download_url": "string",
  • "errors": [
    ],
  • "message": "string"
}

Get project event log entries

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%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"
}

Send project membership invitation

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Request Body schema: application/json
member_type
string
Enum: "admin" "developer" "operator" "organization:app_users:write" "organization:audit_logs:read" "organization:domains:write" "organization:groups:write" "organization:idps: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:services:maintenance" "role:services:recover" "service:configuration:write" "service:data:write" "service:logs:read" "service:secrets:read" "service:users:write"

Project member type

user_email
required
string <= 319 characters

User email address

Responses

Request samples

Content type
application/json
{
  • "member_type": "admin",
  • "user_email": "string"
}

Response samples

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

Confirm project invite

path Parameters
project
required
string

Project name

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/project/%7Bproject%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"
}

Delete an invitation to a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

invited_email
required
string

Email address of user to be invited

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/invite/%7Binvited_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"
}

List Privatelink cloud availability and prices for a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/privatelink-availability',
  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",
  • "privatelink_availability": [
    ]
}

List service plans

Returns a list of the plans available for a service type.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_type
required
string

Service type

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service-types/%7Bservice_type%7D/plans',
  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",
  • "service_plans": [
    ]
}

Get plan pricing

Returns pricing information for a service plan.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_type
required
string

Service type

service_plan
required
string

Service plan

cloud
required
string

Cloud

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/pricing/service-types/%7Bservice_type%7D/plans/%7Bservice_plan%7D/clouds/%7Bcloud%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
{
  • "base_price_usd": "string",
  • "cloud_name": "string",
  • "errors": [
    ],
  • "extra_disk_price_per_gb_usd": "string",
  • "message": "string",
  • "object_storage_gb_price_usd": "string",
  • "service_plan": "string",
  • "service_type": "string"
}

Get service plan details

Returns information about a plan for a service type such as the disk storage and backup configuration.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_type
required
string

Service type

service_plan
required
string

Service plan

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service-types/%7Bservice_type%7D/plans/%7Bservice_plan%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
{
  • "backup_config": {
    },
  • "disk_space_cap_mb": 0,
  • "disk_space_mb": 0,
  • "disk_space_step_mb": 10240,
  • "errors": [
    ],
  • "max_memory_percent": 100,
  • "message": "string",
  • "node_count": 1,
  • "service_plan": "string",
  • "service_type": "string",
  • "shard_count": 1
}

Get service type details

Returns the configuration options for a service type.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_type
required
string

Service type

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service-types/%7Bservice_type%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
{
  • "default_version": "string",
  • "description": "string",
  • "errors": [
    ],
  • "latest_available_version": "string",
  • "message": "string",
  • "user_config_schema": { }
}

List service types

Returns a list of all available service types and their configuration options.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service-types',
  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
{
  • "alloydbomni": {
    },
  • "cassandra": {
    },
  • "clickhouse": {
    },
  • "dragonfly": {
    },
  • "elasticsearch": {
    },
  • "errors": [
    ],
  • "flink": {
    },
  • "grafana": {
    },
  • "influxdb": {
    },
  • "kafka": {
    },
  • "kafka_connect": {
    },
  • "kafka_mirrormaker": {
    },
  • "m3aggregator": {
    },
  • "m3db": {
    },
  • "message": "string",
  • "mysql": {
    },
  • "opensearch": {
    },
  • "pg": {
    },
  • "redis": {
    },
  • "thanos": {
    },
  • "valkey": {
    }
}

List all tags attached to this project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/tags',
  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",
  • "tags": { }
}

Replace all project tags with a new set of tags, deleting old ones

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Request Body schema: application/json
tags
required
object

Set of resource tags

Responses

Request samples

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

Response samples

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

Update one or more tags, creating ones that don't exist, and deleting ones given NULL value

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Request Body schema: application/json
tags
required
object

Set of resource tags

Responses

Request samples

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

Response samples

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

List users with access to the project. May contain same user multiple times if they belong to multiple teams associated to the project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/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
{
  • "errors": [
    ],
  • "group_users": [
    ],
  • "invitations": [
    ],
  • "message": "string",
  • "users": [
    ]
}

Remove user from the project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

user_email
required
string

Email address

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/user/%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"
}

Update a project user

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

user_email
required
string

Email address

Request Body schema: application/json
member_type
required
string
Enum: "admin" "developer" "operator" "organization:app_users:write" "organization:audit_logs:read" "organization:domains:write" "organization:groups:write" "organization:idps: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:services:maintenance" "role:services:recover" "service:configuration:write" "service:data:write" "service:logs:read" "service:secrets:read" "service:users:write"

Project member type

Responses

Request samples

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

Response samples

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

Create a VPC in a cloud for the project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

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

Target cloud

network_cidr
required
string <= 18 characters

IPv4 network range CIDR

required
Array of objects <= 128 items

List of peering connection requests for the VPC

Responses

Request samples

Content type
application/json
{
  • "cloud_name": "string",
  • "network_cidr": "string",
  • "peering_connections": [
    ]
}

Response samples

Content type
application/json
{
  • "cloud_name": "string",
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "network_cidr": "string",
  • "peering_connections": [
    ],
  • "pending_build_only_peering_connections": "string",
  • "project_vpc_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "update_time": "string"
}

List VPCs for a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpcs',
  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",
  • "vpcs": [
    ]
}

Delete a project VPC

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpcs/%7Bproject_vpc_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
{
  • "cloud_name": "string",
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "network_cidr": "string",
  • "peering_connections": [
    ],
  • "pending_build_only_peering_connections": "string",
  • "project_vpc_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "update_time": "string"
}

Get VPC information

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpcs/%7Bproject_vpc_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
{
  • "cloud_name": "string",
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "network_cidr": "string",
  • "peering_connections": [
    ],
  • "pending_build_only_peering_connections": "string",
  • "project_vpc_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "update_time": "string"
}

Create a peering connection for a project VPC

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

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

Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet

peer_azure_tenant_id
string <= 1024 characters

Azure tenant id in UUID4 form

peer_cloud_account
required
string <= 1024 characters

AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections

peer_region
string <= 1024 characters

The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud.

peer_resource_group
string <= 1024 characters

Azure resource group name of the peered VPC

peer_vpc
required
string <= 1024 characters

AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID

user_peer_network_cidrs
Array of strings <= 128 items

List of private IPv4 ranges to route through the peering connection

Responses

Request samples

Content type
application/json
{
  • "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": [
    ]
}

Response samples

Content type
application/json
{
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "peer_azure_app_id": "string",
  • "peer_azure_tenant_id": "string",
  • "peer_cloud_account": "string",
  • "peer_region": "string",
  • "peer_resource_group": "string",
  • "peer_vpc": "string",
  • "peering_connection_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "state_info": {
    },
  • "update_time": "string",
  • "user_peer_network_cidrs": [
    ],
  • "vpc_peering_connection_type": "aws-tgw-vpc-attachment"
}

Delete a peering connection for a project VPC

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

peer_cloud_account
required
string

AWS account ID, Google project name, Azure subscription ID, or string "upcloud" for UpCloud peering connections

peer_vpc
required
string

AWS VPC-ID, Google network name, Azure VNet name, or UpCloud VPC ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpcs/%7Bproject_vpc_id%7D/peering-connections/peer-accounts/%7Bpeer_cloud_account%7D/peer-vpcs/%7Bpeer_vpc%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
{
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "peer_azure_app_id": "string",
  • "peer_azure_tenant_id": "string",
  • "peer_cloud_account": "string",
  • "peer_region": "string",
  • "peer_resource_group": "string",
  • "peer_vpc": "string",
  • "peering_connection_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "state_info": {
    },
  • "update_time": "string",
  • "user_peer_network_cidrs": [
    ],
  • "vpc_peering_connection_type": "aws-tgw-vpc-attachment"
}

Update user-defined peer network CIDRs for a project VPC

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

Request Body schema: application/json
Array of objects <= 128 items

CIDRs to add using a specific peering connection

delete
Array of strings <= 128 items

Network CIDRs to remove from the VPC's peering connections' user_peer_network_cidrs

Responses

Request samples

Content type
application/json
{
  • "add": [
    ],
  • "delete": [
    ]
}

Response samples

Content type
application/json
{
  • "cloud_name": "string",
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "network_cidr": "string",
  • "peering_connections": [
    ],
  • "pending_build_only_peering_connections": "string",
  • "project_vpc_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "update_time": "string"
}

Delete a peering connection for a project VPC

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

peer_cloud_account
required
string

AWS account ID, Google project name, Azure subscription ID, or string "upcloud" for UpCloud peering connections

peer_vpc
required
string

AWS VPC-ID, Google network name, Azure VNet name, or UpCloud VPC ID

peer_region
required
string

AWS region

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpcs/%7Bproject_vpc_id%7D/peering-connections/peer-accounts/%7Bpeer_cloud_account%7D/peer-vpcs/%7Bpeer_vpc%7D/peer-regions/%7Bpeer_region%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
{
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "peer_azure_app_id": "string",
  • "peer_azure_tenant_id": "string",
  • "peer_cloud_account": "string",
  • "peer_region": "string",
  • "peer_resource_group": "string",
  • "peer_vpc": "string",
  • "peering_connection_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "state_info": {
    },
  • "update_time": "string",
  • "user_peer_network_cidrs": [
    ],
  • "vpc_peering_connection_type": "aws-tgw-vpc-attachment"
}

Delete a peering connection for a project VPC

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

project_vpc_id
required
string

Project VPC ID

peer_cloud_account
required
string

AWS account ID, Google project name, Azure subscription ID, or string "upcloud" for UpCloud peering connections

peer_resource_group
required
string

Azure resource group

peer_vpc
required
string

AWS VPC-ID, Google network name, Azure VNet name, or UpCloud VPC ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/vpcs/%7Bproject_vpc_id%7D/peering-connections/peer-accounts/%7Bpeer_cloud_account%7D/peer-resource-groups/%7Bpeer_resource_group%7D/peer-vpcs/%7Bpeer_vpc%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
{
  • "create_time": "string",
  • "errors": [
    ],
  • "message": "string",
  • "peer_azure_app_id": "string",
  • "peer_azure_tenant_id": "string",
  • "peer_cloud_account": "string",
  • "peer_region": "string",
  • "peer_resource_group": "string",
  • "peer_vpc": "string",
  • "peering_connection_id": "stringstringstringstringstringstring",
  • "state": "ACTIVE",
  • "state_info": {
    },
  • "update_time": "string",
  • "user_peer_network_cidrs": [
    ],
  • "vpc_peering_connection_type": "aws-tgw-vpc-attachment"
}

Project Billing

Claim a credit code

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

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 project credits

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%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"
}

Download PDF invoice

path Parameters
project
required
string

Project name

invoice_number
required
string

Invoice number

download_cookie
required
string

Authentication cookie for file download

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/invoice/%7Binvoice_number%7D/%7Bdownload_cookie%7D'
};

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

  console.log(body);
});

List project invoices

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/invoice',
  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": [
    ],
  • "invoices": [
    ],
  • "message": "string"
}

Project Key Management

Retrieve project CA certificate

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/kms/ca',
  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
{
  • "certificate": "string",
  • "errors": [
    ],
  • "message": "string"
}

Service: AlloyDB Omni

Get Google service account key

Retrieve an identifier of the Google Cloud service account key registered for Aiven for AlloyDB Omni AI model integrations.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/alloydbomni/google_cloud_private_key',
  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
{
  • "client_email": "string",
  • "errors": [
    ],
  • "message": "string",
  • "private_key_id": "string"
}

Delete Google service account key

Delete an identifier of the Google Cloud service account key from your Aiven for AlloyDB Omni service. As a consequence, you won't be able to access or use AI models with this service.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/alloydbomni/google_cloud_private_key',
  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
{
  • "client_email": "string",
  • "errors": [
    ],
  • "message": "string",
  • "private_key_id": "string"
}

Add Google service account key

Register an identifier of the Google Cloud service account key for Aiven for AlloyDB Omni AI model integrations.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
private_key
required
string <= 4096 characters

Google Service Account Credentials

Responses

Request samples

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

Response samples

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

Service: ClickHouse

List active queries

Returns a list of active queries on a cluster.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/clickhouse/query',
  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",
  • "queries": [
    ]
}

Execute an SQL query

Executes an SQL query.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
database
required
string <= 250 characters

Service database name

query
required
string <= 20000 characters

Query

Responses

Request samples

Content type
application/json
{
  • "database": "string",
  • "query": "string"
}

Response samples

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

Create a database

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
database
required
string <= 40 characters

Service database name

Responses

Request samples

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

Response samples

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

List all databases

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/clickhouse/db',
  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
{
  • "databases": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete a database

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

database
required
string

Database name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/clickhouse/db/%7Bdatabase%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"
}

Return statistics on recent queries

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Limit for number of results

offset
integer >= 0
Default: 0

Offset for retrieved results based on sort order

order_by
string
Default: "total_time:desc"
Enum: "calls:asc" "calls:desc" "min_time:asc" "min_time:desc" "max_time:asc" "max_time:desc" "mean_time:asc" "mean_time:desc" "p95_time:asc" "p95_time:desc" "stddev_time:asc" "stddev_time:desc" "total_time:asc" "total_time:desc"

Order in which to sort retrieved results

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/clickhouse/query/stats',
  qs: {
    limit: 'SOME_INTEGER_VALUE',
    offset: 'SOME_INTEGER_VALUE',
    order_by: 'SOME_STRING_VALUE'
  },
  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",
  • "queries": [
    ]
}

Get the ClickHouse tiered storage summary

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/clickhouse/tiered-storage/summary',
  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
{
  • "current_cost": "string",
  • "errors": [
    ],
  • "forecasted_cost": "string",
  • "forecasted_rate": "string",
  • "message": "string",
  • "storage_usage_history": {
    },
  • "total_storage_usage": 0
}

Cancel an ApplicationDeployment

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/deployment/%7Bdeployment_id%7D/cancel',
  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
{
  • "created_at": "string",
  • "created_by": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

[EXPERIMENTAL] Cancel a JarApplicationDeployment

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/deployment/%7Bdeployment_id%7D/cancel',
  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
{
  • "created_at": "string",
  • "created_by": "string",
  • "entry_class": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "program_args": [
    ],
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

Create a Flink Application

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
object

Flink ApplicationVersion

name
required
string <= 128 characters

Application name

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Get all Flink Applications

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application',
  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
{
  • "applications": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create an ApplicationDeployment

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Request Body schema: application/json
parallelism
integer [ 1 .. 128 ]

Flink Job parallelism

restart_enabled
boolean

Specifies whether a Flink Job is restarted in case it fails

starting_savepoint
string [ 1 .. 2048 ] characters

Job savepoint

version_id
required
string = 36 characters

ApplicationVersion ID

Responses

Request samples

Content type
application/json
{
  • "parallelism": 1,
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "version_id": "stringstringstringstringstringstring"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

Get all ApplicationDeployments

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/deployment',
  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
{
  • "deployments": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create a Flink ApplicationVersion

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Request Body schema: application/json
required
Array of objects <= 64 items

Sinks

required
Array of objects <= 64 items

Sources

statement
required
string <= 50000 characters

Job SQL statement

Responses

Request samples

Content type
application/json
{
  • "sinks": [
    ],
  • "sources": [
    ],
  • "statement": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "sinks": [
    ],
  • "sources": [
    ],
  • "statement": "string",
  • "version": 0
}

[EXPERIMENTAL] Create a Flink JarApplication

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

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

Application name

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

[EXPERIMENTAL] Get all Flink JarApplications

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application',
  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
{
  • "applications": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

[EXPERIMENTAL] Create an JarApplicationDeployment

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Request Body schema: application/json
entry_class
string [ 1 .. 128 ] characters

Entry class

parallelism
integer [ 1 .. 128 ]

Flink Job parallelism

program_args
Array of strings <= 32 items

Program arguments

Arguments to pass during Flink job submission through the programArgsList parameter

restart_enabled
boolean

Specifies whether a Flink Job is restarted in case it fails

starting_savepoint
string [ 1 .. 2048 ] characters

Job savepoint

version_id
required
string = 36 characters

ApplicationVersion ID

Responses

Request samples

Content type
application/json
{
  • "entry_class": "string",
  • "parallelism": 1,
  • "program_args": [
    ],
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "version_id": "stringstringstringstringstringstring"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "entry_class": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "program_args": [
    ],
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

[EXPERIMENTAL] Get all JarApplicationDeployments

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/deployment',
  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
{
  • "deployments": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

[EXPERIMENTAL] Create a Flink JarApplicationVersion

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/version',
  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
{
  • "created_at": "string",
  • "created_by": "string",
  • "errors": [
    ],
  • "file_info": {
    },
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "version": 0
}

Delete a Flink Application

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_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
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Get a Flink Application

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_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
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Update a Flink Application

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

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

Application name

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Delete an ApplicationDeployment

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/deployment/%7Bdeployment_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

Get an ApplicationDeployment

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/deployment/%7Bdeployment_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

Delete a Flink ApplicationVersion

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

application_version_id
required
string

ApplicationVersion Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/version/%7Bapplication_version_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "sinks": [
    ],
  • "sources": [
    ],
  • "statement": "string",
  • "version": 0
}

Get a Flink ApplicationVersion

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

application_version_id
required
string

ApplicationVersion Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/version/%7Bapplication_version_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "sinks": [
    ],
  • "sources": [
    ],
  • "statement": "string",
  • "version": 0
}

[EXPERIMENTAL] Delete a Flink JarApplication

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_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
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

[EXPERIMENTAL] Get a Flink JarApplication

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_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
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

[EXPERIMENTAL] Update a Flink JarApplication

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

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

Application name

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "application_versions": [
    ],
  • "created_at": "string",
  • "created_by": "string",
  • "current_deployment": {
    },
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

[EXPERIMENTAL] Delete a JarApplicationDeployment

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/deployment/%7Bdeployment_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "entry_class": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "program_args": [
    ],
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

[EXPERIMENTAL] Get a JarApplicationDeployment

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/deployment/%7Bdeployment_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "entry_class": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "program_args": [
    ],
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

[EXPERIMENTAL] Delete a Flink JarApplicationVersion

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

application_version_id
required
string

ApplicationVersion Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/version/%7Bapplication_version_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "errors": [
    ],
  • "file_info": {
    },
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "version": 0
}

[EXPERIMENTAL] Get a Flink JarApplicationVersion

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

application_version_id
required
string

ApplicationVersion Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/version/%7Bapplication_version_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
{
  • "created_at": "string",
  • "created_by": "string",
  • "errors": [
    ],
  • "file_info": {
    },
  • "id": "stringstringstringstringstringstring",
  • "message": "string",
  • "version": 0
}

Get a Flink job info

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

job_id
required
string

Job Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/job/%7Bjob_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
{
  • "duration": 0,
  • "end\-time": 0,
  • "errors": [
    ],
  • "isStoppable": true,
  • "jid": "string",
  • "maxParallelism": 0,
  • "message": "string",
  • "name": "string",
  • "now": 0,
  • "plan": { },
  • "start\-time": 0,
  • "state": "INITIALIZING",
  • "status\-counts": {
    },
  • "timestamps": { },
  • "vertices": [
    ]
}

Get all Flink jobs

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/job',
  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": [
    ],
  • "jobs": [
    ],
  • "message": "string"
}

Get a cluster overview

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/overview',
  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": [
    ],
  • "flink\-commit": "string",
  • "flink\-version": "string",
  • "jobs\-cancelled": 0,
  • "jobs\-failed": 0,
  • "jobs\-finished": 0,
  • "jobs\-running": 0,
  • "message": "string",
  • "slots\-available": 0,
  • "slots\-total": 0,
  • "taskmanagers": 0
}

Stop an ApplicationDeployment

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/application/%7Bapplication_id%7D/deployment/%7Bdeployment_id%7D/stop',
  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
{
  • "created_at": "string",
  • "created_by": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "restart_enabled": true,
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

[EXPERIMENTAL] Stop an JarApplicationDeployment

[EXPERIMENTAL]: This endpoint is experimental. It may change or even disappear at any time. Do not rely on it for production purposes.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

deployment_id
required
string

Deployment Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/flink/jar_application/%7Bapplication_id%7D/deployment/%7Bdeployment_id%7D/stop',
  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
{
  • "created_at": "string",
  • "created_by": "string",
  • "entry_class": "string",
  • "error_msg": "string",
  • "errors": [
    ],
  • "id": "stringstringstringstringstringstring",
  • "job_id": "string",
  • "last_savepoint": "string",
  • "message": "string",
  • "parallelism": 1,
  • "program_args": [
    ],
  • "starting_savepoint": "string",
  • "status": "INITIALIZING",
  • "version_id": "stringstringstringstringstringstring"
}

Validate a Flink ApplicationVersion

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

application_id
required
string

Application Id

Request Body schema: application/json
required
Array of objects <= 64 items

Sinks

required
Array of objects <= 64 items

Sources

statement
string <= 50000 characters

Job SQL statement

Responses

Request samples

Content type
application/json
{
  • "sinks": [
    ],
  • "sources": [
    ],
  • "statement": "string"
}

Response samples

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

Service: Kafka

Add Aiven Kafka ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
permission
required
string
Enum: "admin" "read" "readwrite" "write"

Kafka permission

topic
required
string [ 1 .. 249 ] characters

Topic name pattern

username
required
string [ 1 .. 64 ] characters

Username

Responses

Request samples

Content type
application/json
{
  • "permission": "admin",
  • "topic": "string",
  • "username": "string"
}

Response samples

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

List Aiven ACL entries for Kafka service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/acl',
  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
{
  • "acl": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete a Kafka ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

kafka_acl_id
required
string

Kafka ACL ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/acl/%7Bkafka_acl_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
{
  • "acl": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create a Kafka Connect connector

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
connector.class
required
string <= 1024 characters

The Java class for the connector

name
required
string <= 1024 characters

Unique name for the connector

Responses

Request samples

Content type
application/json
{
  • "connector.class": "string",
  • "name": "string"
}

Response samples

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

Lists Kafka connectors

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors',
  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
{
  • "connectors": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete Kafka Connect connector

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors/%7Bconnector_name%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"
}

Edit Kafka Connect connector

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Request Body schema: application/json
connector.class
required
string <= 1024 characters

The Java class for the connector

name
required
string <= 1024 characters

Unique name for the connector

Responses

Request samples

Content type
application/json
{
  • "connector.class": "string",
  • "name": "string"
}

Response samples

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

Get available Kafka Connect connectors

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/available-connectors',
  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",
  • "plugins": [
    ]
}

Get Kafka Connect connector configuration schema

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connector-plugins/%7Bconnector_name%7D/configuration',
  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
{
  • "configuration_schema": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Get a Kafka Connect Connector status

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors/%7Bconnector_name%7D/status',
  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",
  • "status": {
    }
}

Pause a Kafka Connect Connector

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors/%7Bconnector_name%7D/pause',
  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"
}

Restart a Kafka Connect Connector

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors/%7Bconnector_name%7D/restart',
  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"
}

Restart a Kafka Connect Connector task

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

task_id
required
string

Service task

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors/%7Bconnector_name%7D/tasks/%7Btask_id%7D/restart',
  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"
}

Resume a Kafka Connect Connector

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

connector_name
required
string

Connector name

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connectors/%7Bconnector_name%7D/resume',
  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"
}

Add a Kafka-native ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
host
string [ 0 .. 256 ] characters

the host or * for all hosts

operation
required
string
Enum: "All" "Alter" "AlterConfigs" "ClusterAction" "Create" "CreateTokens" "Delete" "Describe" "DescribeConfigs" "DescribeTokens" "IdempotentWrite" "Read" "Write"

Kafka ACL operation represents an operation which an ACL grants or denies permission to perform

pattern_type
required
string
Enum: "LITERAL" "PREFIXED"

Kafka ACL pattern type of resource name

permission_type
required
string
Enum: "ALLOW" "DENY"

Kafka ACL permission type

principal
required
string [ 0 .. 256 ] characters

principal is in 'PrincipalType:name' format

resource_name
required
string [ 0 .. 256 ] characters

Resource pattern used to match specified resources

resource_type
required
string
Enum: "Topic" "Group" "Cluster" "TransactionalId" "DelegationToken" "User"

Kafka ACL resource type represents a type of resource which an ACL can be applied to

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "operation": "All",
  • "pattern_type": "LITERAL",
  • "permission_type": "ALLOW",
  • "principal": "string",
  • "resource_name": "string",
  • "resource_type": "Topic"
}

Response samples

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

List Kafka-native ACL entries

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/acl',
  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
{
  • "acl": [
    ],
  • "errors": [
    ],
  • "kafka_acl": [
    ],
  • "message": "string"
}

Delete a Kafka-native ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

kafka_acl_id
required
string

Kafka ACL ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/acl/%7Bkafka_acl_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 single Kafka-native ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

kafka_acl_id
required
string

Kafka ACL ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/acl/%7Bkafka_acl_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
{
  • "acl": {
    },
  • "errors": [
    ],
  • "message": "string"
}

Create Kafka quota

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
client\-id
string <= 255 characters

client-id

consumer_byte_rate
number [ 0 .. 1073741824 ]

consumer network throttle

producer_byte_rate
number [ 0 .. 1073741824 ]

producer network throttle

request_percentage
number [ 0 .. 100 ]

cpu percentage throttle

user
string <= 64 characters

user

Responses

Request samples

Content type
application/json
{
  • "client\-id": "string",
  • "consumer_byte_rate": 1073741824,
  • "producer_byte_rate": 1073741824,
  • "request_percentage": 100,
  • "user": "string"
}

Response samples

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

Delete Kafka quota

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

query Parameters
client-id
string

Client ID.

user
string

Username.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/quota',
  qs: {'client-id': 'SOME_STRING_VALUE', user: 'SOME_STRING_VALUE'},
  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 Kafka quotas

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/quota',
  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",
  • "quotas": [
    ]
}

Describe Specific Kafka quotas

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

query Parameters
client-id
string

Client ID.

user
string

Username.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/quota/describe',
  qs: {'client-id': 'SOME_STRING_VALUE', user: 'SOME_STRING_VALUE'},
  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",
  • "quota": {
    }
}

Get the Kafka tiered storage object storage usage by topic

Return "400 Bad Request" if tiered storage feature is not enabled for this service. Rarely, the data may be not available. In this case, "503 Service Unavailable" is returned and the client should try later.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/tiered-storage/storage-usage/by-topic',
  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",
  • "storage_usage": { }
}

Get the Kafka tiered storage total object storage usage

Return "400 Bad Request" if tiered storage feature is not enabled for this service. Rarely, the data may be not available. In this case, "503 Service Unavailable" is returned and the client should try later.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/tiered-storage/storage-usage/total',
  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",
  • "total_storage_usage": 0
}

Get the Kafka tiered storage summary

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/tiered-storage/summary',
  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
{
  • "current_cost": "string",
  • "errors": [
    ],
  • "forecasted_cost": "string",
  • "forecasted_rate": "string",
  • "message": "string",
  • "storage_usage_history": {
    },
  • "total_storage_usage": 0
}

Create a Kafka topic

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
cleanup_policy
string
Enum: "delete" "compact" "compact,delete"

DEPRECATED: use config.cleanup_policy

object

Kafka topic configuration

min_insync_replicas
integer >= 1

DEPRECATED: use config.min_insync_replicas

owner_user_group_id
string [ 1 .. 36 ] characters

The user group that owns this topic

partitions
integer [ 1 .. 1000000 ]

Number of partitions

replication
integer >= 1

Number of replicas

retention_bytes
integer

DEPRECATED: use config.retention_bytes

retention_hours
integer <= 2562047788015

DEPRECATED: use config.retention_ms

Array of objects [ 0 .. 3 ] items

Topic tags

topic_description
string [ 1 .. 256 ] characters

Topic description

topic_name
required
string [ 1 .. 249 ] characters

Topic name

Responses

Request samples

Content type
application/json
{
  • "cleanup_policy": "delete",
  • "config": {
    },
  • "min_insync_replicas": 1,
  • "owner_user_group_id": "string",
  • "partitions": 1,
  • "replication": 1,
  • "retention_bytes": 0,
  • "retention_hours": 2562047788015,
  • "tags": [
    ],
  • "topic_description": "string",
  • "topic_name": "string"
}

Response samples

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

Get Kafka topic list

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/topic',
  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",
  • "topics": [
    ]
}

Delete a Kafka topic

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

topic_name
required
string

Kafka topic name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/topic/%7Btopic_name%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 Kafka topic info

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

topic_name
required
string

Kafka topic name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/topic/%7Btopic_name%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",
  • "topic": {
    }
}

Update a Kafka topic

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

topic_name
required
string

Kafka topic name

Request Body schema: application/json
object

Kafka topic configuration

min_insync_replicas
integer >= 1

DEPRECATED: use config.min_insync_replicas

owner_user_group_id
string [ 1 .. 36 ] characters

The user group that owns this topic

partitions
integer [ 1 .. 1000000 ]

Number of partitions

replication
integer >= 1

Number of replicas

retention_bytes
integer

DEPRECATED: use config.retention_bytes

retention_hours
integer <= 2562047788015

DEPRECATED: use config.retention_ms

Array of objects [ 0 .. 3 ] items

Topic tags

topic_description
string [ 1 .. 256 ] characters

Topic description

Responses

Request samples

Content type
application/json
{
  • "config": {
    },
  • "min_insync_replicas": 1,
  • "owner_user_group_id": "string",
  • "partitions": 1,
  • "replication": 1,
  • "retention_bytes": 0,
  • "retention_hours": 2562047788015,
  • "tags": [
    ],
  • "topic_description": "string"
}

Response samples

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

List kafka topic messages

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

topic_name
required
string

Kafka topic name

Request Body schema: application/json
format
string
Enum: "binary" "json" "avro" "protobuf" "jsonschema"

The format of consumed messages, which is used to convert messages into a JSON-compatible form. If unspecified, defaults to binary

max_bytes
integer [ 1024 .. 1000000000 ]

The maximum number of bytes of unencoded keys and values that should be included in the response. This provides approximate control over the size of responses and the amount of memory required to store the decoded response. The actual limit will be the minimum of this setting and the server-side configuration consumer.request.max.bytes. Default is unlimited

partitions
required
object

Object of desired partition / offset mappings

timeout
integer [ 3000 .. 40000 ]

The maximum total time to wait for messages for a request if the maximum request size has not yet been reached

Responses

Request samples

Content type
application/json
{
  • "format": "binary",
  • "max_bytes": 1024,
  • "partitions": { },
  • "timeout": 3000
}

Response samples

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

Produce message into a kafka topic

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

topic_name
required
string

Kafka topic name

Request Body schema: application/json
format
required
string
Enum: "binary" "json" "avro" "protobuf" "jsonschema"

The format of the content.

key_schema
string [ 18 .. 2048 ] characters

Full schema encoded as a string (e.g. JSON serialized for Avro data)

key_schema_id
integer [ 1 .. 50000 ]

ID returned by a previous request using the same schema. This ID corresponds to the ID of the schema in the registry.

required
Array of objects <= 32 items

List of records to produce to the topic

value_schema
string [ 18 .. 2048 ] characters

Full schema encoded as a string (e.g. JSON serialized for Avro data)

value_schema_id
integer [ 1 .. 50000 ]

ID returned by a previous request using the same schema. This ID corresponds to the ID of the schema in the registry.

Responses

Request samples

Content type
application/json
{
  • "format": "binary",
  • "key_schema": "stringstringstring",
  • "key_schema_id": 1,
  • "records": [
    ],
  • "value_schema": "stringstringstring",
  • "value_schema_id": 1
}

Response samples

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

Add a Schema Registry ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
permission
required
string
Enum: "schema_registry_read" "schema_registry_write"

ACL entry for Schema Registry

resource
required
string [ 1 .. 249 ] characters

Schema Registry ACL entry resource name pattern

username
required
string [ 1 .. 64 ] characters

Username

Responses

Request samples

Content type
application/json
{
  • "permission": "schema_registry_read",
  • "resource": "string",
  • "username": "string"
}

Response samples

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

List Schema Registry ACL entries

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema-registry/acl',
  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
{
  • "acl": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete a Schema Registry ACL entry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

schema_registry_acl_id
required
string

Kafka Schema Registry ACL ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema-registry/acl/%7Bschema_registry_acl_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
{
  • "acl": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Check compatibility of schema in Schema Registry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

version_id
required
string

Version Id

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

Schema

schemaType
string
Enum: "AVRO" "JSON" "PROTOBUF"

Schema type

Responses

Request samples

Content type
application/json
{
  • "schema": "string",
  • "schemaType": "AVRO"
}

Response samples

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

Get global configuration for Schema Registry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/config',
  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
{
  • "compatibilityLevel": "BACKWARD",
  • "errors": [
    ],
  • "message": "string"
}

Edit global configuration for Schema Registry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
compatibility
required
string
Enum: "BACKWARD" "BACKWARD_TRANSITIVE" "FORWARD" "FORWARD_TRANSITIVE" "FULL" "FULL_TRANSITIVE" "NONE"

Compatibility level

Responses

Request samples

Content type
application/json
{
  • "compatibility": "BACKWARD"
}

Response samples

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

Get schema in Schema Registry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

schema_id
required
string

Schema Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/schemas/ids/%7Bschema_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 configuration for Schema Registry subject

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/config/%7Bsubject_name%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
{
  • "compatibilityLevel": "BACKWARD",
  • "errors": [
    ],
  • "message": "string"
}

Edit configuration for Schema Registry subject

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

Request Body schema: application/json
compatibility
required
string
Enum: "BACKWARD" "BACKWARD_TRANSITIVE" "FORWARD" "FORWARD_TRANSITIVE" "FULL" "FULL_TRANSITIVE" "NONE"

Compatibility level

Responses

Request samples

Content type
application/json
{
  • "compatibility": "BACKWARD"
}

Response samples

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

Delete Schema Registry subject

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/subjects/%7Bsubject_name%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"
}

Delete Schema Registry subject version

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

version_id
required
string

Version Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/subjects/%7Bsubject_name%7D/versions/%7Bversion_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 Schema Registry Subject version

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

version_id
required
string

Version Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/subjects/%7Bsubject_name%7D/versions/%7Bversion_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",
  • "version": {
    }
}

Register a new Schema in Schema Registry

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

Request Body schema: application/json
Array of objects <= 128 items

Schema references

schema
required
string <= 1048576 characters

Schema

schemaType
string
Enum: "AVRO" "JSON" "PROTOBUF"

Schema type

Responses

Request samples

Content type
application/json
{
  • "references": [
    ],
  • "schema": "string",
  • "schemaType": "AVRO"
}

Response samples

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

Get Schema Registry subject versions

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/subjects/%7Bsubject_name%7D/versions',
  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",
  • "versions": [
    ]
}

DEPRECATED: Get raw schema of a specific version in Schema Registry Deprecated

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

subject_name
required
string

Subject name

version_id
required
string

Version Id

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/subjects/%7Bsubject_name%7D/versions/%7Bversion_id%7D/schema',
  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"
}

Lists Schema Registry subjects

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kafka/schema/subjects',
  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",
  • "subjects": [
    ]
}

Service: Kafka MirrorMaker

Create a replication flow

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
config_properties_exclude
string <= 2048 characters

Topic configuration properties that should not be replicated

emit_backward_heartbeats_enabled
boolean

Emit backward heartbeats enabled

emit_heartbeats_enabled
boolean

Emit heartbeats enabled

enabled
required
boolean

Is replication flow enabled

exactly_once_delivery_enabled
boolean

Enable exactly-once message delivery

offset_lag_max
integer >= 0

How out-of-sync a remote partition can be before it is resynced

offset_syncs_topic_location
string
Enum: "source" "target"

Offset syncs topic location

replication_factor
integer >= 1

Replication factor

replication_policy_class
string
Enum: "org.apache.kafka.connect.mirror.DefaultReplicationPolicy" "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"

Replication policy class

source_cluster
required
string <= 128 characters

Source cluster alias

sync_group_offsets_enabled
boolean

Sync consumer group offsets

sync_group_offsets_interval_seconds
integer >= 1

Frequency of consumer group offset sync

target_cluster
required
string <= 128 characters

Target cluster alias

topics
Array of strings <= 8192 items

List of topics and/or regular expressions to replicate.

Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].

topics.blacklist
Array of strings <= 8192 items

List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.

Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.

topics.exclude
Array of strings <= 8192 items

List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.

Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.

topics_exclude
Array of strings <= 8192 items

List of topics and/or regular expressions to not replicate.

Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.

Responses

Request samples

Content type
application/json
{
  • "config_properties_exclude": "string",
  • "emit_backward_heartbeats_enabled": true,
  • "emit_heartbeats_enabled": true,
  • "enabled": true,
  • "exactly_once_delivery_enabled": true,
  • "offset_lag_max": 0,
  • "offset_syncs_topic_location": "source",
  • "replication_factor": 1,
  • "replication_policy_class": "org.apache.kafka.connect.mirror.DefaultReplicationPolicy",
  • "source_cluster": "string",
  • "sync_group_offsets_enabled": true,
  • "sync_group_offsets_interval_seconds": 1,
  • "target_cluster": "string",
  • "topics": [
    ],
  • "topics.blacklist": [
    ],
  • "topics.exclude": [
    ],
  • "topics_exclude": [
    ]
}

Response samples

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

Get replication flows

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/mirrormaker/replication-flows',
  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",
  • "replication_flows": [
    ]
}

Delete a replication flow

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

source_cluster
required
string

Source cluster alias

target_cluster
required
string

Target cluster alias

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/mirrormaker/replication-flows/%7Bsource_cluster%7D/%7Btarget_cluster%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 a replication flow

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

source_cluster
required
string

Source cluster alias

target_cluster
required
string

Target cluster alias

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/mirrormaker/replication-flows/%7Bsource_cluster%7D/%7Btarget_cluster%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",
  • "replication_flow": {
    }
}

Update a replication flow

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

source_cluster
required
string

Source cluster alias

target_cluster
required
string

Target cluster alias

Request Body schema: application/json
config_properties_exclude
string <= 2048 characters

Topic configuration properties that should not be replicated

emit_backward_heartbeats_enabled
boolean

Emit backward heartbeats enabled

emit_heartbeats_enabled
boolean

Emit heartbeats enabled

enabled
boolean

Is replication flow enabled

exactly_once_delivery_enabled
boolean

Enable exactly-once message delivery

offset_lag_max
integer >= 0

How out-of-sync a remote partition can be before it is resynced

offset_syncs_topic_location
string
Enum: "source" "target"

Offset syncs topic location

replication_factor
integer >= 1

Replication factor

replication_policy_class
string
Enum: "org.apache.kafka.connect.mirror.DefaultReplicationPolicy" "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"

Replication policy class

sync_group_offsets_enabled
boolean

Sync consumer group offsets

sync_group_offsets_interval_seconds
integer >= 1

Frequency of consumer group offset sync

topics
Array of strings <= 8192 items

List of topics and/or regular expressions to replicate.

Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].

topics.blacklist
Array of strings <= 8192 items

List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.

Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.

topics.exclude
Array of strings <= 8192 items

List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'.

Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.

topics_exclude
Array of strings <= 8192 items

List of topics and/or regular expressions to not replicate.

Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.

Responses

Request samples

Content type
application/json
{
  • "config_properties_exclude": "string",
  • "emit_backward_heartbeats_enabled": true,
  • "emit_heartbeats_enabled": true,
  • "enabled": true,
  • "exactly_once_delivery_enabled": true,
  • "offset_lag_max": 0,
  • "offset_syncs_topic_location": "source",
  • "replication_factor": 1,
  • "replication_policy_class": "org.apache.kafka.connect.mirror.DefaultReplicationPolicy",
  • "sync_group_offsets_enabled": true,
  • "sync_group_offsets_interval_seconds": 1,
  • "topics": [
    ],
  • "topics.blacklist": [
    ],
  • "topics.exclude": [
    ],
  • "topics_exclude": [
    ]
}

Response samples

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

Service: MySQL

Fetch MySQL service query statistics

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

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

Limit for number of results

offset
integer >= 0

Offset for retrieved results based on sort order

order_by
string <= 256 characters

Order in which to sort retrieved results

Responses

Request samples

Content type
application/json
{
  • "limit": 1,
  • "offset": 0,
  • "order_by": "string"
}

Response samples

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

Service: OpenSearch

Show OpenSearch ACL configuration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/opensearch/acl',
  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
{
  • "elasticsearch_version": "7",
  • "errors": [
    ],
  • "message": "string",
  • "opensearch_acl_config": {
    }
}

Set OpenSearch ACL configuration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
elasticsearch_version
string
Enum: "7" "1" "2"

Elasticsearch major version

required
object

OpenSearch ACL configuration

Responses

Request samples

Content type
application/json
{
  • "elasticsearch_version": "7",
  • "opensearch_acl_config": {
    }
}

Response samples

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

Update OpenSearch ACL configuration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
elasticsearch_version
string
Enum: "7" "1" "2"

Elasticsearch major version

required
object

OpenSearch ACL configuration

Responses

Request samples

Content type
application/json
{
  • "elasticsearch_version": "7",
  • "opensearch_acl_config": {
    }
}

Response samples

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

Delete an OpenSearch index

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

index_name
required
string

OpenSearch index name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/index/%7Bindex_name%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 OpenSearch indexes

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/index',
  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": [
    ],
  • "indexes": [
    ],
  • "message": "string"
}

Show OpenSearch security configuration status

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/opensearch/security',
  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",
  • "security_plugin_admin_enabled": true,
  • "security_plugin_available": true,
  • "security_plugin_enabled": true
}

Change Opensearch Security Admin password

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
admin_password
required
string [ 8 .. 256 ] characters

Current os-sec-admin password

new_password
required
string [ 8 .. 256 ] characters

New os-sec-admin password

Responses

Request samples

Content type
application/json
{
  • "admin_password": "stringst",
  • "new_password": "stringst"
}

Response samples

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

Enable Opensearch Security Admin by setting the password

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
admin_password
required
string [ 8 .. 256 ] characters

os-sec-admin password

Responses

Request samples

Content type
application/json
{
  • "admin_password": "stringst"
}

Response samples

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

Service: PostgreSQL

List PostgreSQL extensions that can be loaded with CREATE EXTENSION in this service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/pg/available-extensions',
  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": [
    ],
  • "extensions": [
    ],
  • "message": "string"
}

Fetch PostgreSQL service query statistics

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

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

Limit for number of results

offset
integer >= 0

Offset for retrieved results based on sort order

order_by
string <= 256 characters

Order in which to sort retrieved results

Responses

Request samples

Content type
application/json
{
  • "limit": 1,
  • "offset": 0,
  • "order_by": "string"
}

Response samples

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

Fetch PostgreSQL service query statistics (DEPRECATED: Use /project/$project/service/$service/pg/query/stats instead) Deprecated

DEPRECATED: Use /project/$project/service/$service/pg/query/stats instead

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

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

Limit for number of results

offset
integer >= 0

Offset for retrieved results based on sort order

order_by
string <= 256 characters

Order in which to sort retrieved results

Responses

Request samples

Content type
application/json
{
  • "limit": 1,
  • "offset": 0,
  • "order_by": "string"
}

Response samples

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

Create a new connection pool for service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
database
required
string <= 63 characters

Service database name

pool_mode
string
Enum: "session" "transaction" "statement"

PGBouncer pool mode

pool_name
required
string <= 63 characters

Connection pool name

pool_size
integer [ 1 .. 10000 ]

Size of PGBouncer's PostgreSQL side connection pool

username
string <= 64 characters

Service username

Responses

Request samples

Content type
application/json
{
  • "database": "string",
  • "pool_mode": "session",
  • "pool_name": "string",
  • "pool_size": 1,
  • "username": "string"
}

Response samples

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

Delete a connection pool

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

pool_name
required
string

PgBouncer connection pool name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/connection_pool/%7Bpool_name%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"
}

Update a connection pool

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

pool_name
required
string

PgBouncer connection pool name

Request Body schema: application/json
database
string <= 63 characters

Service database name

pool_mode
string
Enum: "session" "transaction" "statement"

PGBouncer pool mode

pool_size
integer [ 1 .. 10000 ]

Size of PGBouncer's PostgreSQL side connection pool

username
string <= 64 characters

Service username

Responses

Request samples

Content type
application/json
{
  • "database": "string",
  • "pool_mode": "session",
  • "pool_size": 1,
  • "username": "string"
}

Response samples

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

Service: Thanos

Get Thanos object storage summary

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/thanos/storage/summary',
  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
{
  • "current_cost": "string",
  • "errors": [
    ],
  • "forecasted_cost": "string",
  • "forecasted_rate": "string",
  • "message": "string",
  • "storage_usage_history": {
    },
  • "total_storage_usage": 0
}

Service

List service types for a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service_types',
  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",
  • "service_types": {
    }
}

List publicly available service types

Responses

Request samples

const request = require('request');

const options = {method: 'GET', url: 'https://api.aiven.io/v1/service_types'};

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

  console.log(body);
});

Response samples

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

List service versions

Responses

Request samples

const request = require('request');

const options = {method: 'GET', url: 'https://api.aiven.io/v1/service_versions'};

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

  console.log(body);
});

Response samples

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

List PostgreSQL extensions available for this tenant grouped by PG version

path Parameters
tenant
required
string

Aiven tenant ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/tenants/%7Btenant%7D/pg-available-extensions'
};

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

  console.log(body);
});

Response samples

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

Get service log entries

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

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

How many log entries to receive at most

offset
string <= 128 characters

Opaque offset identifier

sort_order
string
Enum: "desc" "asc"

Sort order for log messages

Responses

Request samples

Content type
application/json
{
  • "limit": 1,
  • "offset": "string",
  • "sort_order": "desc"
}

Response samples

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

List all tags attached to the service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/tags',
  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",
  • "tags": { }
}

Replace all project tags with a new set of tags, deleting old ones

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
tags
required
object

Set of resource tags

Responses

Request samples

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

Response samples

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

Update one or more tags, creating ones that don't exist, and deleting ones given NULL value

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
tags
required
object

Set of resource tags

Responses

Request samples

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

Response samples

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

List active alerts for service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/alerts',
  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
{
  • "alerts": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Get service's backup to another region information

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
period
string
Enum: "hour" "day" "week" "month" "year"

Metrics time period

Responses

Request samples

Content type
application/json
{
  • "period": "hour"
}

Response samples

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

Get service backup information

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/backups',
  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
{
  • "backups": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Cancel specified query from service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
pid
integer >= 0

Database server connection ID

terminate
boolean

Request immediate termination instead of soft cancel

Responses

Request samples

Content type
application/json
{
  • "pid": 0,
  • "terminate": true
}

Response samples

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

Create a service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

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

Target cloud

copy_tags
boolean

If this is a forked service, copy tags from the source service. If request contains additional tags, the tags copied from source are updated with them.

disk_space_mb
integer >= 0

Megabytes of disk space for data storage

group_name
string <= 256 characters

Service group name (DEPRECATED: do not use)

object

Automatic maintenance settings

plan
required
string <= 128 characters

Subscription plan

project_vpc_id
string = 36 characters

Project VPC ID

Array of objects <= 64 items

Service integrations to enable for the service. Some integration types affect how a service is created and they must be provided as part of the creation call instead of being defined later.

service_name
required
string [ 1 .. 64 ] characters

Service name

service_type
required
string <= 64 characters

Service type code

static_ips
Array of strings <= 128 items

Static IP addresses to associate with the service

tags
object

Set of resource tags

Array of objects <= 10 items

List of service technical email addresses

termination_protection
boolean

Service is protected against termination and powering off

user_config
object

Service type-specific settings

Responses

Request samples

Content type
application/json
{
  • "cloud": "string",
  • "copy_tags": true,
  • "disk_space_mb": 0,
  • "group_name": "string",
  • "maintenance": {
    },
  • "plan": "string",
  • "project_vpc_id": "stringstringstringstringstringstring",
  • "service_integrations": [
    ],
  • "service_name": "string",
  • "service_type": "string",
  • "static_ips": [
    ],
  • "tags": { },
  • "tech_emails": [
    ],
  • "termination_protection": true,
  • "user_config": { }
}

Response samples

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

List services

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service',
  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",
  • "services": [
    ]
}

Create a new logical database for service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
database
required
string <= 40 characters

Service database name

lc_collate
string <= 128 characters

Default string sort order (LC_COLLATE) for PostgreSQL database

lc_ctype
string <= 128 characters

Default character classification (LC_CTYPE) for PostgreSQL database

Responses

Request samples

Content type
application/json
{
  • "database": "string",
  • "lc_collate": "string",
  • "lc_ctype": "string"
}

Response samples

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

List service databases

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/db',
  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
{
  • "databases": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Delete a logical database

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

dbname
required
string

DatabaseName

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/db/%7Bdbname%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"
}

Terminate a service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%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 service information

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

query Parameters
include_secrets
boolean

Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D',
  qs: {include_secrets: 'SOME_BOOLEAN_VALUE'},
  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",
  • "service": {
    }
}

Update service configuration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

query Parameters
allow_unclean_poweroff
boolean
Default: true

Allows or disallows powering off a service if some WAL segments are not available for a future restoration of the service, which might result in data loss when powering the service back on

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

Target cloud

disk_space_mb
integer >= 0

Megabytes of disk space for data storage

group_name
string <= 256 characters

Service group name (DEPRECATED: do not use)

karapace
boolean

Switch the service to use Karapace for schema registry and REST proxy

object

Automatic maintenance settings

plan
string <= 128 characters

Subscription plan

powered
boolean

Power-on the service (true) or power-off (false)

project_vpc_id
string = 36 characters

Project VPC ID

schema_registry_authz
boolean

Enable or disable Schema Registry authorization

Array of objects <= 10 items

List of service technical email addresses

termination_protection
boolean

Service is protected against termination and powering off

user_config
object

Service type-specific settings

Responses

Request samples

Content type
application/json
{
  • "cloud": "string",
  • "disk_space_mb": 0,
  • "group_name": "string",
  • "karapace": true,
  • "maintenance": {
    },
  • "plan": "string",
  • "powered": true,
  • "project_vpc_id": "stringstringstringstringstringstring",
  • "schema_registry_authz": true,
  • "tech_emails": [
    ],
  • "termination_protection": true,
  • "user_config": { }
}

Response samples

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

Temporarily enable writes for a service in read-only mode. Will only work if disk usage is lower than 99.0%

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/enable-writes',
  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",
  • "until": "string"
}

Get migration status

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/migration',
  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",
  • "migration": {
    },
  • "migration_detail": [
    ]
}

List stats for influxdb

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/influxdb/stats',
  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
{
  • "db_stats": { },
  • "errors": [
    ],
  • "message": "string"
}

Retrieve a service CA

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

ca_name
required
string

CA name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kms/ca/%7Bca_name%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
{
  • "certificate": "string",
  • "errors": [
    ],
  • "message": "string"
}

Retrieve service keypair

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

keypair_name
required
string

Keypair name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/kms/keypairs/%7Bkeypair_name%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
{
  • "certificate": "string",
  • "errors": [
    ],
  • "key": "string",
  • "message": "string"
}

Start maintenance updates

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/maintenance/start',
  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"
}

Fetch service metrics

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
period
string
Enum: "hour" "day" "week" "month" "year"

Metrics time period

Responses

Request samples

Content type
application/json
{
  • "period": "hour"
}

Response samples

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

List VPC Endpoint connections for an AWS Privatelink Endpoint Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/aws/connections',
  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
{
  • "connections": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create an AWS Privatelink Endpoint Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
principals
required
Array of strings [ 1 .. 16 ] items

ARN allowlist

ARNs of principals allowed connecting to the service

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "aws_service_id": "string",
  • "aws_service_name": "string",
  • "errors": [
    ],
  • "message": "string",
  • "principals": [
    ],
  • "state": "creating"
}

Delete an AWS Privatelink Endpoint Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/aws',
  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
{
  • "aws_service_id": "string",
  • "aws_service_name": "string",
  • "errors": [
    ],
  • "message": "string",
  • "principals": [
    ],
  • "state": "creating"
}

Get AWS Privatelink Endpoint Service information

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/aws',
  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
{
  • "aws_service_id": "string",
  • "aws_service_name": "string",
  • "errors": [
    ],
  • "message": "string",
  • "principals": [
    ],
  • "state": "creating"
}

Update an AWS Privatelink Endpoint Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
principals
required
Array of strings [ 1 .. 16 ] items

ARN allowlist

ARNs of principals allowed connecting to the service

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "aws_service_id": "string",
  • "aws_service_name": "string",
  • "errors": [
    ],
  • "message": "string",
  • "principals": [
    ],
  • "state": "creating"
}

Approve an Azure private endpoint connection pending user approval

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

privatelink_connection_id
required
string

Privatelink connection ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/azure/connections/%7Bprivatelink_connection_id%7D/approve',
  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",
  • "private_endpoint_id": "string",
  • "privatelink_connection_id": "string",
  • "state": "pending-user-approval",
  • "user_ip_address": "string"
}

List private endpoint connections for an Azure Privatelink Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/azure/connections',
  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
{
  • "connections": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Update a private endpoint connection for an Azure Privatelink Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

privatelink_connection_id
required
string

Privatelink connection ID

Request Body schema: application/json
user_ip_address
required
string <= 15 characters

(Private) IP address of Privatelink endpoint

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "private_endpoint_id": "string",
  • "privatelink_connection_id": "string",
  • "state": "pending-user-approval",
  • "user_ip_address": "string"
}

Create an Azure Privatelink Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
user_subscription_ids
required
Array of strings <= 16 items

Subscription ID allowlist

IDs of Azure subscriptions allowed to connect to the service

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "azure_service_alias": "string",
  • "azure_service_id": "string",
  • "errors": [
    ],
  • "message": "string",
  • "state": "creating",
  • "user_subscription_ids": [
    ]
}

Delete an Azure Privatelink Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/azure',
  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
{
  • "azure_service_alias": "string",
  • "azure_service_id": "string",
  • "errors": [
    ],
  • "message": "string",
  • "state": "creating",
  • "user_subscription_ids": [
    ]
}

Get Azure Privatelink Service information

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/privatelink/azure',
  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
{
  • "azure_service_alias": "string",
  • "azure_service_id": "string",
  • "errors": [
    ],
  • "message": "string",
  • "state": "creating",
  • "user_subscription_ids": [
    ]
}

Update an Azure Privatelink Service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
user_subscription_ids
required
Array of strings <= 16 items

Subscription ID allowlist

IDs of Azure subscriptions allowed to connect to the service

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "azure_service_alias": "string",
  • "azure_service_id": "string",
  • "errors": [
    ],
  • "message": "string",
  • "state": "creating",
  • "user_subscription_ids": [
    ]
}

Fetch current queries for the service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

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

Limit for number of results

offset
integer >= 0

Offset for retrieved results based on sort order

order_by
string <= 256 characters

Order in which to sort retrieved results

Responses

Request samples

Content type
application/json
{
  • "limit": 1,
  • "offset": 0,
  • "order_by": "string"
}

Response samples

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

Reset service's query statistics

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/query/stats/reset',
  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",
  • "queries": [
    ]
}

Update the service type of a service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
service_type
required
string <= 64 characters

Service type code

Responses

Request samples

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

Response samples

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

Create a new task for service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
object

Payload to be used with create_user_backup

object

Payload to be used with dataset_import

object

Payload to be used with migration_check

target_version
string
Enum: "13" "14" "15" "16" "17"

Target version used with upgrade_check

task_type
required
string
Enum: "upgrade_check" "migration_check" "dataset_import" "create_user_backup"

Service task type

Responses

Request samples

Content type
application/json
{
  • "create_user_backup": {
    },
  • "dataset_import": {
    },
  • "migration_check": {
    },
  • "target_version": "13",
  • "task_type": "upgrade_check"
}

Response samples

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

Get task result

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

task_id
required
string

Service task

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/task/%7Btask_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",
  • "task": {
    }
}

Create a new (sub) user for service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Request Body schema: application/json
object

Service specific access controls for user

Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.

authentication
string
Enum: "null" "caching_sha2_password" "mysql_native_password"

Authentication details

username
required
string <= 64 characters

Service username

Responses

Request samples

Content type
application/json
{
  • "access_control": {
    },
  • "authentication": "null",
  • "username": "string"
}

Response samples

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

Modify service user credentials

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

service_username
required
string

Service username

Request Body schema: application/json
object

Service specific access controls for user

Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.

authentication
string
Enum: "null" "caching_sha2_password" "mysql_native_password"

Authentication details

new_password
string [ 8 .. 256 ] characters

New password

operation
required
string
Enum: "acknowledge-renewal" "reset-credentials" "set-access-control"

Operation type

Responses

Request samples

Content type
application/json
{
  • "access_control": {
    },
  • "authentication": "null",
  • "new_password": "stringst",
  • "operation": "acknowledge-renewal"
}

Response samples

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

Delete a service user

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

service_username
required
string

Service username

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/user/%7Bservice_username%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 user

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

service_username
required
string

Service username

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/user/%7Bservice_username%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",
  • "user": {
    }
}

Reset service user credentials

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

service_username
required
string

Service username

Responses

Request samples

const request = require('request');

const options = {
  method: 'PUT',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/user/%7Bservice_username%7D/credentials/reset',
  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",
  • "service": {
    }
}

Service Integrations

Create a new service integration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

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

Integration destination endpoint ID

dest_project
string <= 63 characters

Destination project name

dest_service
string <= 64 characters

Destination service name

integration_type
required
string
Enum: "alertmanager" "application_service_credential" "autoscaler" "caching" "cassandra_cross_service_cluster" "clickhouse_credentials" "clickhouse_kafka" "clickhouse_postgresql" "dashboard" "datadog" "datasource" "disaster_recovery" "external_aws_cloudwatch_logs" "external_aws_cloudwatch_metrics" "external_elasticsearch_logs" "external_google_cloud_logging" "external_opensearch_logs" "flink" "flink_external_bigquery" "flink_external_kafka" "flink_external_postgresql" "internal_connectivity" "jolokia" "kafka_connect" "kafka_connect_postgresql" "kafka_logs" "kafka_mirrormaker" "logs" "m3aggregator" "m3coordinator" "metrics" "opensearch_cross_cluster_replication" "opensearch_cross_cluster_search" "prometheus" "read_replica" "rsyslog" "schema_registry_proxy" "stresstester" "thanos_distributed_query" "thanos_migrate" "thanoscompactor" "thanosquery" "thanosruler" "thanosstore" "vector" "vmalert"

Service integration type

source_endpoint_id
string <= 36 characters

Integration source endpoint ID

source_project
string <= 63 characters

Source project name

source_service
string <= 64 characters

Source service name

user_config
object

Service type-specific settings

Responses

Request samples

Content type
application/json
{
  • "dest_endpoint_id": "string",
  • "dest_project": "string",
  • "dest_service": "string",
  • "integration_type": "alertmanager",
  • "source_endpoint_id": "string",
  • "source_project": "string",
  • "source_service": "string",
  • "user_config": { }
}

Response samples

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

Delete a service integration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

integration_id
required
string

Integration ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration/%7Bintegration_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 service integration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

integration_id
required
string

Integration ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration/%7Bintegration_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",
  • "service_integration": {
    }
}

Update a service integration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

integration_id
required
string

Integration ID

Request Body schema: application/json
user_config
required
object

Service integration settings

Responses

Request samples

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

Response samples

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

Create a new service integration endpoint

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Request Body schema: application/json
endpoint_name
required
string [ 1 .. 40 ] characters

Integration endpoint name

endpoint_type
required
string
Enum: "autoscaler" "datadog" "external_aws_cloudwatch_logs" "external_aws_cloudwatch_metrics" "external_aws_s3" "external_clickhouse" "external_elasticsearch_logs" "external_google_cloud_bigquery" "external_google_cloud_logging" "external_kafka" "external_mysql" "external_opensearch_logs" "external_postgresql" "external_prometheus" "external_redis" "external_schema_registry" "external_sumologic_logs" "jolokia" "prometheus" "rsyslog"

Service integration endpoint type

user_config
required
object

Service integration endpoint settings

Responses

Request samples

Content type
application/json
{
  • "endpoint_name": "string",
  • "endpoint_type": "autoscaler",
  • "user_config": { }
}

Response samples

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

List available integration endpoints for project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration_endpoint',
  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",
  • "service_integration_endpoints": [
    ]
}

Delete a service integration endpoint

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

integration_endpoint_id
required
string

Endpoint ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration_endpoint/%7Bintegration_endpoint_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 service integration endpoint

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

integration_endpoint_id
required
string

Endpoint ID

query Parameters
include_secrets
boolean

Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration_endpoint/%7Bintegration_endpoint_id%7D',
  qs: {include_secrets: 'SOME_BOOLEAN_VALUE'},
  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",
  • "service_integration_endpoint": {
    }
}

Update service integration endpoint

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

integration_endpoint_id
required
string

Endpoint ID

Request Body schema: application/json
user_config
required
object

Service integration endpoint settings

Responses

Request samples

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

Response samples

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

List available service integration endpoint types

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration_endpoint_types',
  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
{
  • "endpoint_types": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

List available integrations for a service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

service_name
required
string

Service name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/service/%7Bservice_name%7D/integration',
  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",
  • "service_integrations": [
    ]
}

List available service integration types

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/integration_types',
  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": [
    ],
  • "integration_types": [
    ],
  • "message": "string"
}

StaticIP

Associate a static IP address with a service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

static_ip_address_id
required
string

Static IP address identifier

Request Body schema: application/json
service_name
required
string [ 1 .. 64 ] characters

Service name

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "cloud_name": "string",
  • "errors": [
    ],
  • "ip_address": "string",
  • "message": "string",
  • "service_name": "string",
  • "state": "creating",
  • "static_ip_address_id": "string",
  • "termination_protection": true
}

Dissociate a static IP address from a service

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

static_ip_address_id
required
string

Static IP address identifier

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/static-ips/%7Bstatic_ip_address_id%7D/association',
  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
{
  • "cloud_name": "string",
  • "errors": [
    ],
  • "ip_address": "string",
  • "message": "string",
  • "service_name": "string",
  • "state": "creating",
  • "static_ip_address_id": "string",
  • "termination_protection": true
}

List static IP address cloud availability and prices for a project

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/static-ip-availability',
  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",
  • "static_ip_address_availability": [
    ]
}

Update a static IP address configuration

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

static_ip_address_id
required
string

Static IP address identifier

Request Body schema: application/json
termination_protection
boolean

Static IP address is protected against deletion

Responses

Request samples

Content type
application/json
{
  • "termination_protection": true
}

Response samples

Content type
application/json
{
  • "cloud_name": "string",
  • "errors": [
    ],
  • "ip_address": "string",
  • "message": "string",
  • "service_name": "string",
  • "state": "creating",
  • "static_ip_address_id": "string",
  • "termination_protection": true
}

Create static IP address

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

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

Target cloud

termination_protection
boolean

Static IP address is protected against deletion

Responses

Request samples

Content type
application/json
{
  • "cloud_name": "string",
  • "termination_protection": true
}

Response samples

Content type
application/json
{
  • "cloud_name": "string",
  • "errors": [
    ],
  • "ip_address": "string",
  • "message": "string",
  • "service_name": "string",
  • "state": "creating",
  • "static_ip_address_id": "string",
  • "termination_protection": true
}

List static IP addresses

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/static-ips',
  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",
  • "static_ips": [
    ]
}

Ticket [deprecated]

List organization support tickets Deprecated

DEPRECATED: Support tickets have been moved to https://support.aiven.io/.

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/tickets',
  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",
  • "tickets": [
    ]
}

Create a support ticket Deprecated

DEPRECATED: Support tickets have been moved to https://support.aiven.io/.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/tickets',
  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",
  • "ticket": {
    }
}

List support tickets Deprecated

DEPRECATED: Support tickets have been moved to https://support.aiven.io/.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/tickets',
  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",
  • "tickets": [
    ]
}

Invite a user to a ticket Deprecated

DEPRECATED: Support tickets have been moved to https://support.aiven.io/.

Authorizations:
(tokenAuthoauth2)
path Parameters
project
required
string

Project name

ticket_id
required
string

Ticket ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/project/%7Bproject%7D/tickets/%7Bticket_id%7D/invite',
  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"
}

Users

Create new access token

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

Name / description of an access token

extend_when_used
boolean

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

max_age_seconds
number [ 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
{
  • "create_time": "string",
  • "created_manually": true,
  • "currently_active": true,
  • "description": "string",
  • "errors": [
    ],
  • "expiry_time": "string",
  • "extend_when_used": true,
  • "full_token": "string",
  • "last_ip": "string",
  • "last_used_time": "string",
  • "last_user_agent": "string",
  • "last_user_agent_human_readable": "string",
  • "max_age_seconds": 600,
  • "message": "string",
  • "scopes": [
    ],
  • "token_prefix": "string"
}

List all valid access tokens

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/access_token',
  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",
  • "tokens": [
    ]
}

Revoke an access token

Authorizations:
(tokenAuthoauth2)
path Parameters
token_prefix
required
string

Access token prefix

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/access_token/%7Btoken_prefix%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"
}

Update an existing access token

Authorizations:
(tokenAuthoauth2)
path Parameters
token_prefix
required
string

Access token prefix

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

Name / description of an access token

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "create_time": "string",
  • "created_manually": true,
  • "currently_active": true,
  • "description": "string",
  • "errors": [
    ],
  • "expiry_time": "string",
  • "extend_when_used": true,
  • "last_ip": "string",
  • "last_used_time": "string",
  • "last_user_agent": "string",
  • "last_user_agent_human_readable": "string",
  • "max_age_seconds": 600,
  • "message": "string",
  • "scopes": [
    ],
  • "token_prefix": "string"
}

Check password strength for an existing user

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

New password

old_password
required
string <= 256 characters

User password

Responses

Request samples

Content type
application/json
{
  • "new_password": "string",
  • "old_password": "string"
}

Response samples

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

Check password strength for a new user

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

User email address

password
required
string <= 256 characters

New password

real_name
string <= 256 characters

User real name

Responses

Request samples

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

Response samples

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

List user groups of the organization's member

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user/%7Bmember_user_id%7D/user-groups',
  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
{
  • "user_groups": [
    ]
}

List authentication methods for a user in the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user/%7Bmember_user_id%7D/authentication_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
{
  • "authentication_methods": [
    ]
}

Remove a user from the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user/%7Bmember_user_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",
  • "errors": [
    ]
}

Get details on a user of the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user/%7Bmember_user_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,
  • "join_time": "string",
  • "last_activity_time": "string",
  • "user_id": "string",
  • "user_info": {
    }
}

Update details on a user of the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Request Body schema: application/json
city
string

City

country
string

Country

department
string

Department

is_super_admin
boolean

Alters super admin state of the organization user

job_title
string

Job Title

real_name
string <= 256 characters

Real Name

state
string
Enum: "active" "deactivated" "deleted"

State of the user in the organization

Responses

Request samples

Content type
application/json
{
  • "city": "string",
  • "country": "string",
  • "department": "string",
  • "is_super_admin": true,
  • "job_title": "string",
  • "real_name": "string",
  • "state": "active"
}

Response samples

Content type
application/json
{
  • "is_super_admin": true,
  • "join_time": "string",
  • "last_activity_time": "string",
  • "user_id": "string",
  • "user_info": {
    }
}

List users of the 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/user',
  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
{
  • "users": [
    ]
}

Reset the password of a managed user in the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user/%7Bmember_user_id%7D/reset_password',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

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

  console.log(body);
});

Revoke the token of a managed user in the organization

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

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/user/%7Bmember_user_id%7D/access-token/%7Btoken_prefix%7D',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

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

  console.log(body);
});

List tokens from an organization's member

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

Authorizations:
(tokenAuthoauth2)
path Parameters
organization_id
required
string

ID of an organization

member_user_id
required
string

ID of the organization's user

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/organization/%7Borganization_id%7D/user/%7Bmember_user_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": [
    ]
}

Configure two-factor authentication

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

Two-factor authentication method being used, if any

password
required
string <= 256 characters

Current password

Responses

Request samples

Content type
application/json
{
  • "method": "string",
  • "password": "string"
}

Response samples

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

Complete one-time password configuration

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

One-time password

password
required
string <= 256 characters

Current password

uri
required
string <= 2048 characters

URI describing the TOTP

Responses

Request samples

Content type
application/json
{
  • "otp": "string",
  • "password": "string",
  • "uri": "string"
}

Response samples

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

Delete user account

Authorizations:
(tokenAuthoauth2)
path Parameters
user_id
required
string

User ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/user/%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
{
  • "message": "string",
  • "errors": [
    ]
}

Accept all invites for a single account

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

Account ID

team_id
string <= 32 characters

Team ID

Responses

Request samples

Content type
application/json
{
  • "account_id": "string",
  • "team_id": "string"
}

Response samples

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

List pending account invites

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/me/account/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"
}

Reject invite to a team Deprecated

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

Account ID

team_id
required
string <= 32 characters

Team ID

Responses

Request samples

Content type
application/json
{
  • "account_id": "string",
  • "team_id": "string"
}

Response samples

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

Authenticate user

Authenticate user and return token for following authorizations

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

User email address

otp
string <= 6 characters

One-time password

password
required
string <= 256 characters

User password

Responses

Request samples

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

Response samples

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

Get available login options

Get available user login options

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

User email address

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "None": [
    ],
  • "action": "azure_oauth",
  • "method": "POST",
  • "name": "string",
  • "redirect_url": "string"
}

Delete linked authentication method, and revoke all associated access tokens

Authorizations:
(tokenAuthoauth2)
path Parameters
user_authentication_method_id
required
string

User authentication method ID

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://api.aiven.io/v1/me/authentication_methods/%7Buser_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
{
  • "errors": [
    ],
  • "message": "string"
}

List linked authentication methods

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/me/authentication_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
{
  • "authentication_methods": [
    ],
  • "errors": [
    ],
  • "message": "string"
}

Create a user Deprecated

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

Name of a company

country_code
string <= 2 characters

Two letter country code for country

credit_code
string <= 1024 characters

Credit code

email
required
string <= 319 characters

User email address

email_communication_categories
Array of strings <= 3 items

Categories of email communication enabled for user during signup

origin
string <= 1024 characters

Origin of the user

password
string <= 256 characters

User password

real_name
required
string <= 256 characters

User real name

state
string <= 128 characters

Address state or province

token
string <= 4096 characters

Signup token for single sign-on linking

Responses

Request samples

Content type
application/json
{
  • "company": "string",
  • "country_code": "st",
  • "credit_code": "string",
  • "email": "string",
  • "email_communication_categories": [
    ],
  • "origin": "string",
  • "password": "string",
  • "real_name": "string",
  • "state": "string",
  • "token": "string"
}

Response samples

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

Expire all authorization tokens

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/me/expire_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
{
  • "errors": [
    ],
  • "message": "string"
}

Get information for the current session's user

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/me',
  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": {
    }
}

Edit profile

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

Authorizations:
(tokenAuthoauth2)
Request Body schema: application/json
city
string <= 256 characters

City

country
string <= 256 characters

Country code ISO 3166-1 alpha-2

department
string <= 256 characters

Job department

job_title
string <= 256 characters

Job title

real_name
required
string <= 256 characters

User real name

Responses

Request samples

Content type
application/json
{
  • "city": "string",
  • "country": "string",
  • "department": "string",
  • "job_title": "string",
  • "real_name": "string"
}

Response samples

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

Logout user, removing current authentication token

Authorizations:
(tokenAuthoauth2)

Responses

Request samples

const request = require('request');

const options = {
  method: 'POST',
  url: 'https://api.aiven.io/v1/me/logout',
  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"
}

Change user password

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

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

New password

password
required
string <= 256 characters

Current password

Responses

Request samples

Content type
application/json
{
  • "new_password": "string",
  • "password": "string"
}

Response samples

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

Confirm user password reset

path Parameters
verification_code
required
string

Verification code received via email

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

New password

Responses

Request samples

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

Response samples

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

Request user password reset

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

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"
}

Confirm user email address

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

path Parameters
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/user/verify_email/%7Bverification_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"
}

Validate campaign credit code

path Parameters
credit_code
required
string

Credit Code

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/user/credit_code/%7Bcredit_code%7D'
};

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

  console.log(body);
});

Response samples

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

Validate referral_code code

path Parameters
referral_code
required
string

Referral Code

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://api.aiven.io/v1/me/referral/validation/%7Breferral_code%7D'
};

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

  console.log(body);
});

Response samples

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