CockroachDB Billing API

Retrieve invoices and billing information for the CockroachDB Cloud organization.

OpenAPI Specification

cockroachdb-billing-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CockroachDB Cloud APIKeys Billing API
  description: The CockroachDB Cloud API is a REST interface that provides programmatic access to manage the lifecycle of clusters within a CockroachDB Cloud organization. It enables developers and operators to create, configure, scale, and delete CockroachDB Serverless and Dedicated clusters without using the web console. The API supports cluster provisioning, node management, network authorization, customer-managed encryption keys, backup and restore, log and metric export, role management, and folder organization. Authentication is handled via bearer tokens, and the API is rate-limited to 10 requests per second per user.
  version: '2024-09-16'
  contact:
    name: Cockroach Labs Support
    url: https://support.cockroachlabs.com
  termsOfService: https://www.cockroachlabs.com/cloud-terms-and-conditions/
servers:
- url: https://cockroachlabs.cloud
  description: CockroachDB Cloud Production Server
security:
- bearerAuth: []
tags:
- name: Billing
  description: Retrieve invoices and billing information for the CockroachDB Cloud organization.
paths:
  /api/v1/invoices:
    get:
      operationId: ListInvoices
      summary: List invoices
      description: Returns a list of invoices for the organization. Optionally filter by invoice status to retrieve only Finalized or Draft invoices.
      tags:
      - Billing
      parameters:
      - name: status
        in: query
        description: Filter invoices by status. Accepted values are Finalized and Draft. If not specified, both types are returned.
        schema:
          type: string
          enum:
          - Finalized
          - Draft
      responses:
        '200':
          description: List of invoices returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInvoicesResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/invoices/{invoice_id}:
    get:
      operationId: GetInvoice
      summary: Get an invoice
      description: Retrieves a specific invoice by its unique ID including line items and totals for the billing period.
      tags:
      - Billing
      parameters:
      - name: invoice_id
        in: path
        required: true
        description: Unique identifier of the invoice to retrieve.
        schema:
          type: string
      responses:
        '200':
          description: Invoice retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Invoice:
      type: object
      description: A billing invoice for a CockroachDB Cloud organization.
      properties:
        id:
          type: string
          description: Unique identifier of the invoice.
        status:
          type: string
          description: Status of the invoice. Values include Finalized and Draft.
        period_start:
          type: string
          format: date-time
          description: Start of the billing period covered by this invoice.
        period_end:
          type: string
          format: date-time
          description: End of the billing period covered by this invoice.
        total_amount:
          type: number
          description: Total invoice amount in US cents.
    Error:
      type: object
      description: Standard error response returned by the API.
      properties:
        code:
          type: integer
          description: HTTP status code of the error.
        message:
          type: string
          description: Human-readable description of the error.
        details:
          type: array
          description: Additional detail objects providing error context.
          items:
            type: object
    ListInvoicesResponse:
      type: object
      description: List of invoices for the organization.
      properties:
        invoices:
          type: array
          description: Array of invoice objects.
          items:
            $ref: '#/components/schemas/Invoice'
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Generate a token in the CockroachDB Cloud Console under Organization Settings > API Access.
externalDocs:
  description: CockroachDB Cloud API Documentation
  url: https://www.cockroachlabs.com/docs/cockroachcloud/cloud-api