Aiven Billing API

The Billing API from Aiven — 4 operation(s) for billing.

Business capability
Invoicing & Statement Management BC-4250.30

Operations 7

GET /credit-memos/{credit_memo_id}/{download_cookie} Download PDF Credit Memo #
GET /invoices/{invoice_number} Get a single invoice #
POST /organization/{organization_id}/addresses Create new address for an organization #
GET /organization/{organization_id}/addresses List addresses of an organization #
DELETE /organization/{organization_id}/address/{address_id} Delete an address of an organization #
GET /organization/{organization_id}/address/{address_id} Get organization address info #
PATCH /organization/{organization_id}/address/{address_id} Update an address of an organization #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aiven-billing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aiven-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@aiven.io
    name: Aiven support team
    url: https://aiven.io/support-services
  title: Aiven API Documentation Billing 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


    Direct link to openapi.json for use with external tools


    Aiven is a modern fully-managed open source data platform for streaming, storing, and analyzing data on any public cloud.'
servers:
- url: https://api.aiven.io/v1
tags:
- name: Billing
  x-displayName: Billing
paths:
  /credit-memos/{credit_memo_id}/{download_cookie}:
    get:
      summary: Download PDF Credit Memo
      tags:
      - Billing
      operationId: BillingCreditMemoDownload
      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/credit_memo_id'
      - $ref: '#/components/parameters/download_cookie'
      responses:
        '200':
          description: Returns a PDF report
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '403':
          description: Invoice link expired
          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:
                          - request_forbidden
                          title: Machine processable error code. Clients must be prepared to handle new codes.
                          description: 'request_forbidden: Not authorized to view the request'
        '404':
          description: Invoice 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'
  /invoices/{invoice_number}:
    get:
      summary: Get a single invoice
      tags:
      - Billing
      operationId: InvoiceGet
      parameters:
      - $ref: '#/components/parameters/invoice_number'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceGetResponse'
      security:
      - tokenAuth: []
        oauth2:
        - billing:read
  /organization/{organization_id}/addresses:
    post:
      summary: Create new address for an organization
      tags:
      - Billing
      operationId: OrganizationAddressCreate
      parameters:
      - $ref: '#/components/parameters/organization_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationAddressCreateRequestBody'
            example:
              address_lines:
              - Street 1
              - Street 2
              city: Helsinki
              country_code: FI
              name: Aiven Oy
              state: ''
              zip_code: '01234'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationAddressCreateResponse'
        '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.'
        '403':
          description: Operation not allowed
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    title: Human readable error message
                  errors:
                    type: array
                    title: List of error details. Typically there is only one element
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                          title: Human readable error message
                        error_code:
                          type: string
                          enum:
                          - user_not_organization_admin
                          title: Machine processable error code. Clients must be prepared to handle new codes.
                          description: 'user_not_organization_admin: User is not organization administrator.'
      security:
      - tokenAuth: []
        oauth2:
        - accounts:write
        - billing:write
    get:
      summary: List addresses of an organization
      tags:
      - Billing
      operationId: OrganizationAddressList
      parameters:
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationAddressListResponse'
        '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:
        - accounts:read
        - billing:read
  /organization/{organization_id}/address/{address_id}:
    delete:
      summary: Delete an address of an organization
      tags:
      - Billing
      operationId: OrganizationAddressDelete
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/address_id'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationAddressDeleteResponse'
        '403':
          description: Operation not allowed
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    title: Human readable error message
                  errors:
                    type: array
                    title: List of error details. Typically there is only one element
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                          title: Human readable error message
                        error_code:
                          type: string
                          enum:
                          - user_not_organization_admin
                          title: Machine processable error code. Clients must be prepared to handle new codes.
                          description: 'user_not_organization_admin: User is not organization administrator.'
        '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:
        - accounts:write
        - billing:write
    get:
      summary: Get organization address info
      tags:
      - Billing
      operationId: OrganizationAddressGet
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/address_id'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationAddressGetResponse'
        '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:
        - accounts:read
        - billing:read
    patch:
      summary: Update an address of an organization
      tags:
      - Billing
      operationId: OrganizationAddressUpdate
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/address_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationAddressUpdateRequestBody'
            example:
              address_lines:
              - Street 1
              - Street 2
              city: Helsinki
              country_code: FI
              name: Aiven Oy
              state: ''
              zip_code: '01234'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationAddressUpdateResponse'
        '403':
          description: Operation not allowed
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    title: Human readable error message
                  errors:
                    type: array
                    title: List of error details. Typically there is only one element
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                          title: Human readable error message
                        error_code:
                          type: string
                          enum:
                          - user_not_organization_admin
                          title: Machine processable error code. Clients must be prepared to handle new codes.
                          description: 'user_not_organization_admin: User is not organization administrator.'
        '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:
        - accounts:write
        - billing:write
components:
  schemas:
    OrganizationAddressCreateRequestBody:
      type: object
      description: OrganizationAddressCreateRequestBody
      properties:
        address_lines:
          type: array
          minItems: 1
          maxItems: 3
          description: Address lines
          items:
            type: string
        city:
          type: string
          maxLength: 50
          description: City
        country_code:
          type: string
          maxLength: 2
          description: Country Code
        name:
          type: string
          minLength: 1
          maxLength: 83
          description: Name
        state:
          type: string
          maxLength: 30
          description: State
        zip_code:
          type: string
          maxLength: 36
          description: Zip Code
      required:
      - address_lines
      - city
      - country_code
      - name
    OrganizationAddressDeleteResponse:
      type: object
      description: OrganizationAddressDeleteResponse
      properties:
        errors:
          type: array
          description: List of errors occurred during request processing
          items:
            type: object
            properties:
              message:
                type: string
                description: Printable error message
              more_info:
                type: string
                description: URL to the documentation of the error
              status:
                type: integer
                description: HTTP error status code
            required:
            - message
            - status
        message:
          type: string
          description: Printable result of the request
    OrganizationAddressGetResponse:
      type: object
      description: OrganizationAddressGetResponse
      properties:
        address_id:
          type: string
          maxLength: 36
          description: Address ID
        address_lines:
          type: array
          minItems: 1
          maxItems: 3
          description: Address lines
          items:
            type: string
        city:
          type: string
          maxLength: 50
          description: City
        country_code:
          type: string
          maxLength: 2
          description: Country Code
        create_time:
          type: string
          maxLength: 36
          description: Create Time
        name:
          type: string
          minLength: 0
          maxLength: 83
          description: Name
        organization_id:
          type: string
          maxLength: 36
          description: Organization ID
        state:
          type: string
          maxLength: 30
          description: State
        update_time:
          type: string
          maxLength: 36
          description: Update Time
        zip_code:
          type: string
          maxLength: 36
          description: Zip Code
      required:
      - address_id
      - country_code
      - create_time
      - name
      - organization_id
      - update_time
    OrganizationAddressListResponse:
      type: object
      description: OrganizationAddressListResponse
      properties:
        addresses:
          type: array
          description: Addresses
          items:
            type: object
            properties:
              address_id:
                type: string
                maxLength: 36
                description: Address ID
              address_lines:
                type: array
                minItems: 1
                maxItems: 3
                description: Address lines
                items:
                  type: string
              city:
                type: string
                maxLength: 50
                description: City
              country_code:
                type: string
                maxLength: 2
                description: Country Code
              create_time:
                type: string
                maxLength: 36
                description: Create Time
              name:
                type: string
                minLength: 0
                maxLength: 83
                description: Name
              organization_id:
                type: string
                maxLength: 36
                description: Organization ID
              state:
                type: string
                maxLength: 30
                description: State
              update_time:
                type: string
                maxLength: 36
                description: Update Time
              zip_code:
                type: string
                maxLength: 36
                description: Zip Code
            required:
            - address_id
            - country_code
            - create_time
            - name
            - organization_id
            - update_time
      required:
      - addresses
    OrganizationAddressUpdateResponse:
      type: object
      description: OrganizationAddressUpdateResponse
      properties:
        address_id:
          type: string
          maxLength: 36
          description: Address ID
        address_lines:
          type: array
          minItems: 1
          maxItems: 3
          description: Address lines
          items:
            type: string
        city:
          type: string
          maxLength: 50
          description: City
        country_code:
          type: string
          maxLength: 2
          description: Country Code
        create_time:
          type: string
          maxLength: 36
          description: Create Time
        name:
          type: string
          minLength: 0
          maxLength: 83
          description: Name
        organization_id:
          type: string
          maxLength: 36
          description: Organization ID
        state:
          type: string
          maxLength: 30
          description: State
        update_time:
          type: string
          maxLength: 36
          description: Update Time
        zip_code:
          type: string
          maxLength: 36
          description: Zip Code
      required:
      - address_id
      - country_code
      - create_time
      - name
      - organization_id
      - update_time
    OrganizationAddressUpdateRequestBody:
      type: object
      description: OrganizationAddressUpdateRequestBody
      properties:
        address_lines:
          type: array
          minItems: 1
          maxItems: 3
          description: Address lines
          items:
            type: string
        city:
          type: string
          maxLength: 50
          description: City
        country_code:
          type: string
          maxLength: 2
          description: Country Code
        name:
          type: string
          minLength: 1
          maxLength: 83
          description: Name
        state:
          type: string
          maxLength: 30
          description: State
        zip_code:
          type: string
          maxLength: 36
          description: Zip Code
    InvoiceGetResponse:
      type: object
      description: InvoiceGetResponse
      properties:
        invoice:
          type: object
          description: InvoiceModel
          properties:
            billing_group_id:
              type: string
              minLength: 36
              maxLength: 36
              description: Billing Group ID
            billing_group_name:
              type: string
              minLength: 1
              maxLength: 128
              description: Billing Group Name
            billing_group_state:
              type: string
              description: Billing group state
            currency:
              type: string
              maxLength: 16
              description: Currency
            download_cookie:
              type: string
              description: Download Cookie
            due_date:
              type: string
              maxLength: 36
              description: Due Date
            generated_at:
              type: string
              maxLength: 36
              description: Generated At
            invoice_number:
              type: string
              minLength: 1
              description: Invoice Number
            issue_date:
              type: string
              maxLength: 36
              description: Issue Date
            period_begin:
              type: string
              maxLength: 36
              description: Period Begin
            period_end:
              type: string
              maxLength: 36
              description: Period End
            state:
              type: string
              maxLength: 36
              description: State
            total_inc_vat:
              type: string
              maxLength: 16
              description: Total Inc Vat
            total_vat_zero:
              type: string
              maxLength: 16
              description: Total Vat Zero
          required:
          - billing_group_id
          - billing_group_name
          - billing_group_state
          - currency
          - generated_at
          - invoice_number
          - period_begin
          - period_end
          - state
          - total_inc_vat
          - total_vat_zero
      required:
      - invoice
    OrganizationAddressCreateResponse:
      type: object
      description: OrganizationAddressCreateResponse
      properties:
        address_id:
          type: string
          maxLength: 36
          description: Address ID
        address_lines:
          type: array
          minItems: 1
          maxItems: 3
          description: Address lines
          items:
            type: string
        city:
          type: string
          maxLength: 50
          description: City
        country_code:
          type: string
          maxLength: 2
          description: Country Code
        create_time:
          type: string
          maxLength: 36
          description: Create Time
        name:
          type: string
          minLength: 0
          maxLength: 83
          description: Name
        organization_id:
          type: string
          maxLength: 36
          description: Organization ID
        state:
          type: string
          maxLength: 30
          description: State
        update_time:
          type: string
          maxLength: 36
          description: Update Time
        zip_code:
          type: string
          maxLength: 36
          description: Zip Code
      required:
      - address_id
      - country_code
      - create_time
      - name
      - organization_id
      - update_time
  parameters:
    credit_memo_id:
      in: path
      name: credit_memo_id
      description: Credit Memo ID
      schema:
        type: string
      required: true
    address_id:
      in: path
      name: address_id
      description: Address id
      schema:
        type: string
      required: true
    invoice_number:
      in: path
      name: invoice_number
      description: Invoice number
      schema:
        type: string
      required: true
    download_cookie:
      in: path
      name: download_cookie
      description: Authentication cookie for file download
      schema:
        type: string
      required: true
    organization_id:
      in: path
      name: organization_id
      description: ID of an organization
      schema:
        type: string
      required: true
  securitySchemes:
    tokenAuth:
      description: 'Header should be of the format `authorization: aivenv1 <TOKEN>`. 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