> ## 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.

# Update Catalog



## OpenAPI

````yaml https://api.outerproduct.com/openapi.json patch /v1/workspaces/{workspace_id}/catalogs/{catalog_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}:
    patch:
      tags:
        - catalog
      summary: Update Catalog
      operationId: update_catalog_v1_workspaces__workspace_id__catalogs__catalog_id__patch
      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: updateMask
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Updatemask
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Catalog-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catalog-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
components:
  schemas:
    Catalog-Input:
      properties:
        name:
          type: string
          pattern: >-
            ^workspaces/[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?/catalogs/[a-z][a-z0-9_]{0,62}$
          title: Name
          description: >-
            Resource name in the form
            `workspaces/{workspace}/catalogs/{catalog}`.


            The terminal resource ID is the SQL-visible catalog name.
          default: ''
        spec:
          $ref: '#/components/schemas/CatalogSpec'
          description: Definition used to construct this catalog.
        createTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createtime
          description: Time at which the catalog was created.
        updateTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updatetime
          description: Time at which the catalog was most recently updated.
        revision:
          type: integer
          title: Revision
          description: Monotonically increasing revision of this catalog definition.
          default: 0
        revisionHash:
          type: string
          title: Revisionhash
          description: Lowercase SHA-256 hash of the canonical stored catalog definition.
          default: ''
      type: object
      required:
        - spec
      title: Catalog
      description: A SQL-visible catalog owned by a workspace.
    Catalog-Output:
      properties:
        name:
          type: string
          pattern: >-
            ^workspaces/[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?/catalogs/[a-z][a-z0-9_]{0,62}$
          title: Name
          description: >-
            Resource name in the form
            `workspaces/{workspace}/catalogs/{catalog}`.


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

        With no source, schemas are ordinary child Schema resources resolved
        through WorkspaceService. When a source is selected, it supplies the
        complete observed subtree and local Schema 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
    RelationalCatalogSpec:
      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 catalog.
        sourceCatalog:
          type: string
          minLength: 1
          title: Sourcecatalog
          description: Source catalog selected through the connector.
        snapshot:
          anyOf:
            - $ref: '#/components/schemas/RelationalCatalogSnapshot'
            - type: 'null'
          description: Optional complete source snapshot used instead of live discovery.
      type: object
      required:
        - connector
        - sourceCatalog
      title: RelationalCatalogSpec
      description: One source catalog exposed through a relational connector.
    RelationalCatalogSnapshot:
      properties:
        schemas:
          additionalProperties:
            $ref: '#/components/schemas/RelationalSchemaSnapshot'
          propertyNames:
            minLength: 1
          type: object
          title: Schemas
          description: >-
            All observed source schemas, keyed by their names within the
            catalog.
      type: object
      title: RelationalCatalogSnapshot
      description: >-
        The complete schema and table subtree observed beneath one source
        catalog.


        Child snapshots inherit the connector and source catalog from the owning

        RelationalCatalogSpec.
    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>`.

````