planetscale Billing API

Access organization billing data and invoices programmatically.

OpenAPI Specification

planetscale-billing-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: PlanetScale Platform Backups Billing API
  description: The PlanetScale Platform API provides programmatic access to manage PlanetScale serverless MySQL-compatible databases. It allows developers to create and manage databases, branches, deploy requests, passwords, backups, service tokens, organization members, teams, bouncers, and billing data. The API supports authentication via service tokens and OAuth, enabling integration into CI/CD pipelines and infrastructure-as-code workflows.
  version: 1.0.0
  contact:
    name: PlanetScale Support
    url: https://support.planetscale.com
  termsOfService: https://planetscale.com/legal/tos
  license:
    name: Proprietary
    url: https://planetscale.com/legal/tos
servers:
- url: https://api.planetscale.com/v1
  description: PlanetScale Production API
security:
- serviceToken: []
tags:
- name: Billing
  description: Access organization billing data and invoices programmatically.
paths:
  /organizations/{organization}/invoices:
    get:
      operationId: listInvoices
      summary: List invoices
      description: Returns a list of invoices for the specified organization. Requires OAuth or service token with billing access.
      tags:
      - Billing
      parameters:
      - $ref: '#/components/parameters/OrganizationParam'
      responses:
        '200':
          description: Successful response with list of invoices
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    OrganizationParam:
      name: organization
      in: path
      required: true
      description: The name of the organization.
      schema:
        type: string
  schemas:
    Invoice:
      type: object
      description: A billing invoice for an organization.
      properties:
        id:
          type: string
          description: The unique identifier of the invoice.
        period_start:
          type: string
          format: date
          description: The start date of the billing period.
        period_end:
          type: string
          format: date
          description: The end date of the billing period.
        total:
          type: number
          description: The total invoice amount in cents.
        currency:
          type: string
          description: The currency code for the invoice.
        status:
          type: string
          description: The payment status of the invoice.
          enum:
          - draft
          - open
          - paid
          - void
        created_at:
          type: string
          format: date-time
          description: The timestamp when the invoice was generated.
    Error:
      type: object
      description: An error response from the PlanetScale API.
      properties:
        code:
          type: string
          description: A machine-readable error code.
        message:
          type: string
          description: A human-readable error message.
  responses:
    Unauthorized:
      description: Authentication failed. The service token or OAuth token is missing, invalid, or lacks the required permissions.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    serviceToken:
      type: apiKey
      in: header
      name: Authorization
      description: Service token authentication. Use the format 'ServiceToken {token_id}:{token_value}' in the Authorization header.
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token authentication. Obtain tokens via the PlanetScale OAuth authorization code flow.
externalDocs:
  description: PlanetScale API Documentation
  url: https://planetscale.com/docs/api/reference/getting-started-with-planetscale-api