planetscale Schema Recommendations API

View and manage schema recommendations for optimizing database performance and structure.

OpenAPI Specification

planetscale-schema-recommendations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: PlanetScale Platform Backups Schema Recommendations 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: Schema Recommendations
  description: View and manage schema recommendations for optimizing database performance and structure.
paths:
  /organizations/{organization}/databases/{database}/schema-recommendations:
    get:
      operationId: listSchemaRecommendations
      summary: List schema recommendations
      description: Returns a list of schema recommendations for the specified database, identifying potential optimization opportunities.
      tags:
      - Schema Recommendations
      parameters:
      - $ref: '#/components/parameters/OrganizationParam'
      - $ref: '#/components/parameters/DatabaseParam'
      responses:
        '200':
          description: Successful response with list of recommendations
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SchemaRecommendation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  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'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    OrganizationParam:
      name: organization
      in: path
      required: true
      description: The name of the organization.
      schema:
        type: string
    DatabaseParam:
      name: database
      in: path
      required: true
      description: The name of the database.
      schema:
        type: string
  schemas:
    SchemaRecommendation:
      type: object
      description: A schema optimization recommendation for a database.
      properties:
        id:
          type: string
          description: The unique identifier of the recommendation.
        type:
          type: string
          description: The type of recommendation.
        table_name:
          type: string
          description: The table the recommendation applies to.
        description:
          type: string
          description: A human-readable description of the recommendation.
        severity:
          type: string
          description: The severity level of the recommendation.
          enum:
          - info
          - warning
          - critical
        dismissed:
          type: boolean
          description: Whether the recommendation has been dismissed.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the recommendation 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.
  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