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

This endpoint may be changed or removed at any time. Don't use it in production environments.

parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/credit_memo_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingCreditMemoGetResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/credit-memos/{credit_memo_id}/pdf: get: summary: Get a PDF Credit Memo tags: - OrganizationBillingGroup operationId: OrganizationBillingCreditMemoPdfGet x-badges: - name: Experimental position: after color: '#787885' x-experimental: true description:

This endpoint may be changed or removed at any time. Don't use it in production environments.

parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/credit_memo_id' responses: '200': description: Returns a PDF report content: application/pdf: schema: type: string format: binary '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/credit-memos: get: summary: Get credit memos for an organization tags: - OrganizationBillingGroup operationId: OrganizationBillingCreditMemosList x-badges: - name: Experimental position: after color: '#787885' x-experimental: true description:

This endpoint may be changed or removed at any time. Don't use it in production environments.

parameters: - $ref: '#/components/parameters/organization_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingCreditMemosListResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/billing-groups: post: summary: Create an organization billing group tags: - OrganizationBillingGroup operationId: OrganizationBillingGroupCreate parameters: - $ref: '#/components/parameters/organization_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingGroupCreateRequestBody' example: billing_address_id: addr4b1ff1ceeaa billing_contact_emails: - email: jane@example.com billing_emails: - email: jane@example.com billing_group_name: Default billing group for the organization custom_invoice_text: Extra billing text payment_method: payment_method_id: pm4b1ff1ceeaa payment_method_type: credit_card shipping_address_id: addr4b1ff1ceeaa vat_id: FI12345678 responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingGroupCreateResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' '400': description: Invalid request parameters content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - invalid_email_format title: Machine processable error code. Clients must be prepared to handle new codes. description: 'invalid_email_format: Invalid email format' security: - tokenAuth: [] oauth2: - billing:write get: summary: List billing groups in an organization tags: - OrganizationBillingGroup operationId: OrganizationBillingGroupList parameters: - $ref: '#/components/parameters/organization_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingGroupListResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/billing-group/{billing_group_id}: delete: summary: Delete an organization billing group tags: - OrganizationBillingGroup operationId: OrganizationBillingGroupDelete parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/billing_group_id' responses: '204': description: Delete an organization billing group content: {} '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - billing_group_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'billing_group_not_found: Billing group not found' security: - tokenAuth: [] oauth2: - billing:read get: summary: Get organization billing group details tags: - OrganizationBillingGroup operationId: OrganizationBillingGroupGet parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/billing_group_id' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingGroupGetResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - billing_group_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'billing_group_not_found: Billing group not found' security: - tokenAuth: [] oauth2: - billing:read put: summary: Update organization billing group details tags: - OrganizationBillingGroup operationId: OrganizationBillingGroupUpdate parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/billing_group_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingGroupUpdateRequestBody' example: billing_address_id: addr4b1ff1ceeaa billing_contact_emails: - email: jane@example.com billing_emails: - email: jane@example.com billing_group_name: Default billing group for the organization custom_invoice_text: Extra billing text payment_method: payment_method_id: pm4b1ff1ceeaa payment_method_type: credit_card shipping_address_id: addr4b1ff1ceeaa vat_id: FI12345678 responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingGroupUpdateResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - billing_group_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'billing_group_not_found: Billing group not found' security: - tokenAuth: [] oauth2: - billing:write /organization/{organization_id}/invoice/{invoice_number}/csv: get: summary: Get a single invoice as a CSV of invoice lines tags: - OrganizationBillingGroup operationId: OrganizationBillingInvoiceCsvGet parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/invoice_number' responses: '200': description: Returns a CSV report content: text/csv: schema: type: string format: binary '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - invoice_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'invoice_not_found: Invoice not found' '501': description: Server does not support this operation content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - invoice_lines_not_supported title: Machine processable error code. Clients must be prepared to handle new codes. description: 'invoice_lines_not_supported: Invoice lines not supported for this specific invoice. Please contact Aiven support for assistance.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/invoice/{invoice_number}: get: summary: Get a single invoice tags: - OrganizationBillingGroup operationId: OrganizationBillingInvoiceGet parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/invoice_number' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingInvoiceGetResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - invoice_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'invoice_not_found: Invoice not found' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/invoice/{invoice_number}/lines: get: summary: Get invoice lines for a single invoice tags: - OrganizationBillingGroup operationId: OrganizationBillingInvoiceLinesList parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/invoice_number' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingInvoiceLinesListResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' '501': description: Server does not support this operation content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - invoice_lines_not_supported title: Machine processable error code. Clients must be prepared to handle new codes. description: 'invoice_lines_not_supported: Invoice lines not supported for this specific invoice. Please contact Aiven support for assistance.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/invoices: get: summary: Get a list of invoices tags: - OrganizationBillingGroup operationId: OrganizationBillingInvoiceList parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/organizationbillinginvoicelist_billing_group_ids' - $ref: '#/components/parameters/organizationbillinginvoicelist_state' - $ref: '#/components/parameters/organizationbillinginvoicelist_starting_date' - $ref: '#/components/parameters/organizationbillinginvoicelist_ending_date' responses: '200': description: Response content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingInvoiceListResponse' '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - billing:read /organization/{organization_id}/invoice/{invoice_number}/pdf: get: summary: Get a PDF invoice tags: - OrganizationBillingGroup operationId: OrganizationBillingInvoicePdfGet parameters: - $ref: '#/components/parameters/organization_id' - $ref: '#/components/parameters/invoice_number' responses: '200': description: Returns a PDF report content: application/pdf: schema: type: string format: binary '404': description: Resource not found content: application/json: schema: type: object properties: message: type: string title: Human readable error message errors: type: array title: List of error details. Typically there is only one element items: type: object properties: message: type: string title: Human readable error message error_code: type: string enum: - organization_not_found title: Machine processable error code. Clients must be prepared to handle new codes. description: 'organization_not_found: Organization not found.' security: - tokenAuth: [] oauth2: - billing:read components: parameters: organizationbillinginvoicelist_state: in: query name: state description: refers to state of the invoice schema: type: array required: false organizationbillinginvoicelist_starting_date: in: query name: starting_date description: starting date in the invoice time period schema: type: string required: false organization_id: in: path name: organization_id description: ID of an organization schema: type: string required: true billing_group_id: in: path name: billing_group_id description: Billing group id schema: type: string required: true organizationbillinginvoicelist_ending_date: in: query name: ending_date description: ending date in the invoice time period schema: type: string required: false credit_memo_id: in: path name: credit_memo_id description: Credit Memo ID schema: type: string required: true organizationbillinginvoicelist_billing_group_ids: in: query name: billing_group_ids description: IDs of the billing_groups schema: type: array required: false invoice_number: in: path name: invoice_number description: Invoice number schema: type: string required: true schemas: OrganizationBillingGroupUpdateRequestBody: type: object description: OrganizationBillingGroupUpdateRequestBody properties: billing_address_id: type: string maxLength: 36 description: Billing address ID billing_contact_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_group_name: type: string minLength: 1 maxLength: 128 description: Billing group name custom_invoice_text: type: string maxLength: 254 description: Extra billing text payment_method: type: object description: Payment method properties: payment_method_id: type: string maxLength: 36 description: Payment method ID payment_method_type: type: string description: An enumeration. title: Payment method type enum: - aws_subscription - azure_subscription - bank_transfer - credit_card - gcp_subscription - custom required: - payment_method_id - payment_method_type shipping_address_id: type: string maxLength: 36 description: Shipping address ID vat_id: type: string description: VAT ID OrganizationBillingGroupCreateRequestBody: type: object description: OrganizationBillingGroupCreateRequestBody properties: billing_address_id: type: string maxLength: 36 description: Billing address ID billing_contact_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_group_name: type: string minLength: 1 maxLength: 128 description: Billing Group Name custom_invoice_text: type: string maxLength: 256 description: Extra billing text payment_method: type: object description: Payment method properties: payment_method_id: type: string maxLength: 36 description: Payment method ID payment_method_type: type: string description: An enumeration. title: Payment method type enum: - aws_subscription - azure_subscription - bank_transfer - credit_card - gcp_subscription - custom required: - payment_method_id - payment_method_type shipping_address_id: type: string maxLength: 36 description: Shipping address ID vat_id: type: string description: VAT ID required: - billing_address_id - billing_contact_emails - billing_emails - billing_group_name - payment_method - shipping_address_id OrganizationBillingGroupCreateResponse: type: object description: OrganizationBillingGroupCreateResponse properties: billing_address_id: type: string maxLength: 36 description: Billing address ID billing_contact_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_group_id: type: string description: Billing group ID billing_group_name: type: string minLength: 1 maxLength: 128 description: Billing Group Name create_time: type: string maxLength: 36 description: The date when this billing group was created custom_invoice_text: type: string maxLength: 256 description: Extra billing text organization_id: type: string maxLength: 36 description: Organization ID payment_method: type: object description: Payment method properties: payment_method_id: type: string maxLength: 36 description: Payment method ID payment_method_type: type: string description: An enumeration. title: Payment method type enum: - aws_subscription - azure_subscription - bank_transfer - credit_card - gcp_subscription - custom required: - payment_method_id - payment_method_type shipping_address_id: type: string maxLength: 36 description: Shipping address ID vat_id: type: string description: VAT ID required: - billing_address_id - billing_contact_emails - billing_emails - billing_group_id - billing_group_name - create_time - organization_id - shipping_address_id OrganizationBillingInvoiceGetResponse: type: object description: OrganizationBillingInvoiceGetResponse properties: billing_group_id: type: string description: Billing group ID create_time: type: string maxLength: 36 description: The date when this invoice was created currency: type: string description: Acceptable currencies for a billing group. title: Invoice currency enum: - AUD - CAD - CHF - DKK - EUR - GBP - JPY - NOK - NZD - SEK - SGD - USD download_only: type: boolean description: Download only due_date: type: string maxLength: 10 description: The date when this invoice is due invoice_number: type: string description: Invoice ID invoice_period: type: object description: InvoicePeriod properties: begin_time: type: string maxLength: 36 description: The start date of the period this invoice refers to end_time: type: string maxLength: 36 description: The end date of the period this invoice refers to required: - begin_time - end_time issue_date: type: string maxLength: 10 description: The date the invoice was issued net: type: string description: Total invoice amount without taxes in local currency net_usd: type: string description: Total invoice amount without taxes in USD organization_id: type: string maxLength: 36 description: Organization ID state: type: string description: State of the invoice enum: - accrual - consolidated - due - estimate - failed_credit_card_charge - failed_no_credit_card - mailed - no_payment_expected - paid - partner_metering - uncollectible - waived - due_only_project_charges_calculated - estimate_only_project_charges_calculated total: type: string description: Total invoice amount including taxes in local currency total_usd: type: string description: Total invoice amount including taxes in USD required: - billing_group_id - create_time - currency - download_only - invoice_number - invoice_period - issue_date - net - net_usd - organization_id - state - total - total_usd OrganizationBillingInvoiceLinesListResponse: type: object description: OrganizationBillingInvoiceLinesListResponse properties: lines: type: array description: Lines items: type: object properties: begin_time: type: string description: Start timestamp of the line item cloud: type: string description: Name of the cloud provider currency: type: string description: Acceptable currencies for a billing group. title: Local currency code enum: - AUD - CAD - CHF - DKK - EUR - GBP - JPY - NOK - NZD - SEK - SGD - USD description: type: string description: Description of the line item end_time: type: string description: End timestamp of the line item line_type: type: string description: An enumeration. title: Type of line item enum: - commitment_fee - credit_consumption - extra_charge - multiplier - other_event - pro_platform_charge - rounding - service_charge - support_charge plan: type: string description: Plan of the service project_id: type: string description: Name of the project service_id: type: string description: ID of the service service_type: type: string description: Type of service tags: type: object description: Associated tags (key-value pairs) properties: {} total: type: string description: Total amount in local currency total_usd: type: string description: Total amount in USD required: - line_type - total - total_usd required: - lines OrganizationBillingInvoiceListResponse: type: object description: OrganizationBillingInvoiceListResponse properties: invoices: type: array description: A list of billing invoices belonging to the organization items: type: object properties: billing_group_id: type: string description: Billing group ID create_time: type: string maxLength: 36 description: The date when this invoice was created currency: type: string description: Acceptable currencies for a billing group. title: Invoice currency enum: - AUD - CAD - CHF - DKK - EUR - GBP - JPY - NOK - NZD - SEK - SGD - USD download_only: type: boolean description: Download only due_date: type: string maxLength: 10 description: The date when this invoice is due invoice_number: type: string description: Invoice ID invoice_period: type: object description: InvoicePeriod properties: begin_time: type: string maxLength: 36 description: The start date of the period this invoice refers to end_time: type: string maxLength: 36 description: The end date of the period this invoice refers to required: - begin_time - end_time issue_date: type: string maxLength: 10 description: The date the invoice was issued net: type: string description: Total invoice amount without taxes in local currency net_usd: type: string description: Total invoice amount without taxes in USD organization_id: type: string maxLength: 36 description: Organization ID state: type: string description: State of the invoice enum: - accrual - consolidated - due - estimate - failed_credit_card_charge - failed_no_credit_card - mailed - no_payment_expected - paid - partner_metering - uncollectible - waived - due_only_project_charges_calculated - estimate_only_project_charges_calculated total: type: string description: Total invoice amount including taxes in local currency total_usd: type: string description: Total invoice amount including taxes in USD required: - billing_group_id - create_time - currency - download_only - invoice_number - invoice_period - issue_date - net - net_usd - organization_id - state - total - total_usd required: - invoices OrganizationBillingCreditMemoGetResponse: type: object description: OrganizationBillingCreditMemoGetResponse properties: create_time: type: string maxLength: 36 description: The date when this credit memo was created credit_memo_id: type: string description: Credit memo ID currency: type: string description: Acceptable currencies for a billing group. title: Credit memo currency enum: - AUD - CAD - CHF - DKK - EUR - GBP - JPY - NOK - NZD - SEK - SGD - USD invoice_number: type: string description: Invoice ID invoice_period: type: object description: The period this credit memo refers to properties: begin_time: type: string maxLength: 36 description: The start date of the period this invoice refers to end_time: type: string maxLength: 36 description: The end date of the period this invoice refers to required: - begin_time - end_time issue_time: type: string maxLength: 36 description: The date the credit memo was issued net: type: string description: Total credit memo amount without taxes in local currency net_usd: type: string description: Total credit memo amount without taxes in USD send_time: type: string maxLength: 36 description: The date when this credit memo was sent state: type: string description: State of the credit memo enum: - draft - ready - sent total: type: string description: Total credit memo amount in local currency required: - create_time - credit_memo_id - currency - invoice_number - invoice_period - net - net_usd - state - total OrganizationBillingGroupListResponse: type: object description: OrganizationBillingGroupListResponse properties: billing_groups: type: array description: A list of all billing groups belonging to the organization items: type: object properties: billing_address_id: type: string maxLength: 36 description: Billing address ID billing_contact_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_group_id: type: string description: Billing group ID billing_group_name: type: string minLength: 1 maxLength: 128 description: Billing Group Name create_time: type: string maxLength: 36 description: The date when this billing group was created custom_invoice_text: type: string maxLength: 256 description: Extra billing text organization_id: type: string maxLength: 36 description: Organization ID payment_method: type: object description: Payment method properties: payment_method_id: type: string maxLength: 36 description: Payment method ID payment_method_type: type: string description: An enumeration. title: Payment method type enum: - aws_subscription - azure_subscription - bank_transfer - credit_card - gcp_subscription - custom required: - payment_method_id - payment_method_type shipping_address_id: type: string maxLength: 36 description: Shipping address ID vat_id: type: string description: VAT ID required: - billing_address_id - billing_contact_emails - billing_emails - billing_group_id - billing_group_name - create_time - organization_id - shipping_address_id required: - billing_groups OrganizationBillingCreditMemosListResponse: type: object description: OrganizationBillingCreditMemosListResponse properties: credit_memos: type: array description: A list of billing credit memos belonging to the organization items: type: object properties: create_time: type: string maxLength: 36 description: The date when this credit memo was created credit_memo_id: type: string description: Credit memo ID currency: type: string description: Acceptable currencies for a billing group. title: Credit memo currency enum: - AUD - CAD - CHF - DKK - EUR - GBP - JPY - NOK - NZD - SEK - SGD - USD invoice_number: type: string description: Invoice ID invoice_period: type: object description: The period this credit memo refers to properties: begin_time: type: string maxLength: 36 description: The start date of the period this invoice refers to end_time: type: string maxLength: 36 description: The end date of the period this invoice refers to required: - begin_time - end_time issue_time: type: string maxLength: 36 description: The date the credit memo was issued net: type: string description: Total credit memo amount without taxes in local currency net_usd: type: string description: Total credit memo amount without taxes in USD send_time: type: string maxLength: 36 description: The date when this credit memo was sent state: type: string description: State of the credit memo enum: - draft - ready - sent total: type: string description: Total credit memo amount in local currency required: - create_time - credit_memo_id - currency - invoice_number - invoice_period - net - net_usd - state - total required: - credit_memos OrganizationBillingGroupGetResponse: type: object description: OrganizationBillingGroupGetResponse properties: billing_address_id: type: string maxLength: 36 description: Billing address ID billing_contact_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_group_id: type: string description: Billing group ID billing_group_name: type: string minLength: 1 maxLength: 128 description: Billing Group Name create_time: type: string maxLength: 36 description: The date when this billing group was created custom_invoice_text: type: string maxLength: 256 description: Extra billing text organization_id: type: string maxLength: 36 description: Organization ID payment_method: type: object description: Payment method properties: payment_method_id: type: string maxLength: 36 description: Payment method ID payment_method_type: type: string description: An enumeration. title: Payment method type enum: - aws_subscription - azure_subscription - bank_transfer - credit_card - gcp_subscription - custom required: - payment_method_id - payment_method_type shipping_address_id: type: string maxLength: 36 description: Shipping address ID vat_id: type: string description: VAT ID required: - billing_address_id - billing_contact_emails - billing_emails - billing_group_id - billing_group_name - create_time - organization_id - shipping_address_id OrganizationBillingGroupUpdateResponse: type: object description: OrganizationBillingGroupUpdateResponse properties: billing_address_id: type: string maxLength: 36 description: Billing address ID billing_contact_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_emails: type: array description: List of billing contact emails items: type: object properties: email: type: string maxLength: 254 description: Email required: - email billing_group_id: type: string description: Billing group ID billing_group_name: type: string minLength: 1 maxLength: 128 description: Billing Group Name create_time: type: string maxLength: 36 description: The date when this billing group was created custom_invoice_text: type: string maxLength: 256 description: Extra billing text organization_id: type: string maxLength: 36 description: Organization ID payment_method: type: object description: Payment method properties: payment_method_id: type: string maxLength: 36 description: Payment method ID payment_method_type: type: string description: An enumeration. title: Payment method type enum: - aws_subscription - azure_subscription - bank_transfer - credit_card - gcp_subscription - custom required: - payment_method_id - payment_method_type shipping_address_id: type: string maxLength: 36 description: Shipping address ID vat_id: type: string description: VAT ID required: - billing_address_id - billing_contact_emails - billing_emails - billing_group_id - billing_group_name - create_time - organization_id - shipping_address_id securitySchemes: tokenAuth: description: 'Header should be of the format `authorization: aivenv1 `. Tokens can be obtained from [your Aiven profile page](https://console.aiven.io/profile/auth)' scheme: bearer type: http oauth2: type: oauth2 description: OAuth2 security scheme flows: authorizationCode: authorizationUrl: https://console.aiven.io/oauth/authorize tokenUrl: https://api.aiven.io/v1/oauth2/token scopes: all: Provide full access to the API accounts: Allow enumerating and reading accounts configuration accounts:read: Allow modifying account configuration accounts:write: Provides full access to authentication related API authentication: Provides full access to authentication related API authentication:read: Allow reading authentication related configuration on resources (user profile, accounts) authentication:write: Allow modifying authentication related configurations on resources (user profile, accounts) billing: Provide full access to billing APIs billing:read: Allow reading billing information and configuration billing:write: Allow writing billing configuration payments: Provide full access to payment method APIs payments:read: Allow reading the payment method configurations payments:write: Allows writing payment method configuration privatelink: Provide full access to private link APIs privatelink:read: Allow enumerating and reading private link items and configurations privatelink:write: Allow writing (creating, modifying, deleting) private link items projects: Provide full access to projects APIs projects:read: Allow enumerating projects and reading their configuration projects:write: Allow writing (creating, modifying, deleting) projects scim: Provide full access to SCIM operations scim:read: Allow reading SCIM endpoints scim:write: Allow writing (modifying) SCIM endpoints services: Provide full access to services APIs services:read: Allow enumerating services and reading their configuration services:write: Allow writing (creating, modifying, deleting) services static_ips: Provide full access to static IPs APIs static_ips:read: Allow enumerating and reading static IP items and configurations static_ips:write: Allow writing (creating, modifying, deleting) static IP items tickets: Provide full access to support ticket APIs tickets:read: Allow enumerating and reading support tickets tickets:write: Allow writing (creating, modifying) support tickets user: Provide full access to user profile APIs user:read: Allow reading user profile and configuration user:write: Allow writing (modifying) user profile and configuration externalDocs: description: Aiven CLI client url: https://github.com/aiven/aiven-client