> ## Documentation Index
> Fetch the complete documentation index at: https://docs.outerproduct.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Schema



## OpenAPI

````yaml https://api.outerproduct.com/openapi.json get /v1/workspaces/{workspace_id}/catalogs/{catalog_id}/schemas/{schema_id}
openapi: 3.1.0
info:
  title: OuterProduct API
  description: >-
    Public-facing REST API for OuterProduct model distillation, prediction, and
    explanation.
  version: 0.1.8
servers: []
security: []
paths:
  /v1/workspaces/{workspace_id}/catalogs/{catalog_id}/schemas/{schema_id}:
    get:
      tags:
        - schema
      summary: Get Schema
      operationId: >-
        get_schema_v1_workspaces__workspace_id__catalogs__catalog_id__schemas__schema_id__get
      parameters:
        - name: workspace_id
          in: path
          required: true
          schema:
            type: string
            title: Workspace Id
        - name: catalog_id
          in: path
          required: true
          schema:
            type: string
            title: Catalog Id
        - name: schema_id
          in: path
          required: true
          schema:
            type: string
            title: Schema Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schema-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
components:
  schemas:
    Schema-Output:
      properties:
        name:
          type: string
          pattern: >-
            ^workspaces/[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?/catalogs/[a-z][a-z0-9_]{0,62}/schemas/[a-z][a-z0-9_]{0,62}$
          title: Name
          description: |-
            Resource name in the form
            `workspaces/{workspace}/catalogs/{catalog}/schemas/{schema}`.

            The terminal resource ID is the SQL-visible schema name.
        spec:
          $ref: '#/components/schemas/SchemaSpec'
          description: Definition used to construct this schema.
        createTime:
          anyOf:
            - type: string
            - type: 'null'
          title: Createtime
          description: Time at which the schema was created.
        updateTime:
          anyOf:
            - type: string
            - type: 'null'
          title: Updatetime
          description: Time at which the schema was most recently updated.
        revision:
          type: string
          title: Revision
          description: Monotonically increasing revision of this schema definition.
          default: '0'
        revisionHash:
          type: string
          title: Revisionhash
          description: Lowercase SHA-256 hash of the canonical stored schema definition.
          default: ''
      type: object
      required:
        - spec
        - name
      title: Schema
      description: A SQL-visible schema owned by its parent catalog.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SchemaSpec:
      properties:
        relational:
          anyOf:
            - $ref: '#/components/schemas/RelationalSchemaSpec'
            - type: 'null'
          description: One relational source supplies the complete table subtree.
      type: object
      title: SchemaSpec
      description: >-
        Optional source for a schema's complete child subtree.


        With no source, tables are ordinary child Table resources resolved
        through

        WorkspaceService. When a source is selected, it supplies the complete

        observed subtree and local Table children are forbidden.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    RelationalSchemaSpec:
      properties:
        connector:
          type: string
          pattern: >-
            ^workspaces/[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?/connectors/[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?$
          title: Connector
          description: Connector used to discover and query the source schema.
        sourceCatalog:
          type: string
          minLength: 1
          title: Sourcecatalog
          description: Source catalog containing the schema.
        sourceSchema:
          type: string
          minLength: 1
          title: Sourceschema
          description: Source schema selected through the connector.
        snapshot:
          anyOf:
            - $ref: '#/components/schemas/RelationalSchemaSnapshot'
            - type: 'null'
          description: Optional complete source snapshot used instead of live discovery.
      type: object
      required:
        - connector
        - sourceCatalog
        - sourceSchema
      title: RelationalSchemaSpec
      description: One source schema selected through a relational connector.
    RelationalSchemaSnapshot:
      properties:
        tables:
          additionalProperties:
            $ref: '#/components/schemas/RelationalTableSnapshot'
          propertyNames:
            minLength: 1
          type: object
          title: Tables
          description: All observed source tables, keyed by their names within the schema.
      type: object
      title: RelationalSchemaSnapshot
      description: >-
        The complete table subtree observed beneath one relational source
        schema.


        Child snapshots inherit the connector, source catalog, and source schema

        from the owning RelationalSchemaSpec.
    RelationalTableSnapshot:
      properties:
        schema:
          $ref: '#/components/schemas/ArrowIpcSchema'
          description: Arrow schema observed for the source table.
      type: object
      required:
        - schema
      title: RelationalTableSnapshot
      description: Constructor snapshot for one relational table.
    ArrowIpcSchema:
      properties:
        ipcMessage:
          type: string
          minLength: 1
          contentEncoding: base64
          contentMediaType: application/octet-stream
          title: Ipcmessage
      type: object
      required:
        - ipcMessage
      title: ArrowIpcSchema
      description: >-
        An Arrow schema encoded as one canonical Arrow IPC schema message.


        The bytes contain only schema metadata, not an IPC stream, file,
        dictionary,

        record batch, or continuation marker. Consumers must reject any other
        IPC

        payload kind.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key or OAuth2/OIDC access token
      description: >-
        An API key or OAuth2/OIDC access token sent as `Authorization: Bearer
        <token>`.

````