Orbital Schemas API

The Schemas API from Orbital — 2 operation(s) for schemas.

OpenAPI Specification

orbital-schemas-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Orbital Query Caches Schemas API
  description: The Orbital Query API allows developers to submit TaxiQL queries to the Orbital data gateway for integrating, transforming, and discovering data across APIs, databases, event streams, and other data sources. Queries are written in TaxiQL, a technology-agnostic query language, and submitted to the /api/taxiql endpoint. Results can be returned as a single JSON batch or streamed via Server-Sent Events. Orbital automatically orchestrates the required data fetching across connected services based on semantic type metadata in your API specs.
  version: 1.0.0
  contact:
    name: Orbital Support
    url: https://orbitalhq.com/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://localhost:9022
  description: Local Orbital Server
tags:
- name: Schemas
paths:
  /api/schemas:
    get:
      operationId: listSchemas
      summary: Orbital List schemas
      description: Returns the schemas and type definitions currently registered in the Orbital workspace, including types from connected API specs, database schemas, and Taxi projects.
      responses:
        '200':
          description: A list of schemas registered in the workspace.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchemaEntry'
      tags:
      - Schemas
    post:
      operationId: createSchema
      summary: Orbital Register a new schema
      description: Registers a new schema in the Orbital workspace. The schema can be provided as a Taxi source file, OpenAPI specification, Protobuf definition, or other supported schema format. Orbital parses the schema, extracts type definitions and semantic metadata, and makes the types available for TaxiQL queries.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemaCreateRequest'
      responses:
        '201':
          description: Schema registered successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemaEntry_2'
        '400':
          description: Invalid schema definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Schemas
  /api/schemas/{schemaId}:
    get:
      operationId: getSchema
      summary: Orbital Get a schema by ID
      description: Returns the details of a specific schema registered in the workspace.
      parameters:
      - name: schemaId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Schema details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemaEntry_2'
        '404':
          description: Schema not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Schemas
    put:
      operationId: updateSchema
      summary: Orbital Update a schema
      description: Updates an existing schema in the workspace. Orbital re-parses the schema, updates type definitions, and refreshes the query engine's understanding of available data sources.
      parameters:
      - name: schemaId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemaCreateRequest'
      responses:
        '200':
          description: Schema updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemaEntry_2'
        '400':
          description: Invalid schema definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Schema not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Schemas
    delete:
      operationId: deleteSchema
      summary: Orbital Delete a schema
      description: Removes a schema and its associated type definitions from the workspace. Types that are only defined in this schema will no longer be available for TaxiQL queries.
      parameters:
      - name: schemaId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Schema deleted successfully.
        '404':
          description: Schema not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Schemas
components:
  schemas:
    ErrorResponse:
      type: object
      description: Error response from the Orbital API.
      properties:
        message:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Error code identifying the type of error.
        details:
          type: object
          description: Additional error details.
          additionalProperties: true
    SchemaEntry_2:
      type: object
      description: A schema registered in the Orbital workspace.
      properties:
        id:
          type: string
          description: Unique identifier for the schema.
        name:
          type: string
          description: Human-readable name of the schema.
        version:
          type: string
          description: Version of the schema.
        source:
          type: string
          description: Source format of the schema.
          enum:
          - TAXI
          - OPEN_API
          - PROTOBUF
          - AVRO
          - JSON_SCHEMA
          - DATABASE
        content:
          type: string
          description: The raw schema content.
        types:
          type: array
          description: Types defined in this schema.
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the schema was registered.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the schema was last updated.
    SchemaEntry:
      type: object
      description: A schema registered in the Orbital workspace.
      properties:
        id:
          type: string
          description: Unique identifier for the schema.
        name:
          type: string
          description: Human-readable name of the schema.
        version:
          type: string
          description: Version of the schema.
        source:
          type: string
          description: Source of the schema (e.g., OpenAPI, Protobuf, database).
        types:
          type: array
          description: Types defined in this schema.
          items:
            type: string
    SchemaCreateRequest:
      type: object
      description: Request body for registering or updating a schema.
      required:
      - name
      - source
      - content
      properties:
        name:
          type: string
          description: Human-readable name for the schema.
        source:
          type: string
          description: Format of the schema being registered.
          enum:
          - TAXI
          - OPEN_API
          - PROTOBUF
          - AVRO
          - JSON_SCHEMA
          - DATABASE
        content:
          type: string
          description: The raw schema content. For OpenAPI, provide the YAML or JSON spec. For Taxi, provide the .taxi source. For Protobuf, provide the .proto definition.
        url:
          type: string
          format: uri
          description: Optional URL to load the schema from instead of providing content inline.