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

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the SDK. To install or publish skills from a terminal, use the `aireg` CLI; `aireg --map json` prints its command map. The `atlanai` CLI is deprecated. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.
> These docs cover Atlan AI Registry, Atlan's hosted product. The AI registry specification and aireg CLI are maintained separately. /open-source lists publicly reachable signed installers and explains that the source repository and hosted CLI reference currently require GitHub access. Do not claim the repository or its reference docs are publicly accessible. Use these docs for Atlan-specific setup such as the adapter, sign-in and workspaces.

# Save an approved unpublished draft workbench atomically



## OpenAPI

````yaml /public-openapi.json post /ontology/v1/draft-workspaces/draft-saves
openapi: 3.1.0
info:
  title: Atlan public API
  version: current
  description: >-
    Public HTTP API reference for Registry, Skills, Agents, outputs, files, MCP
    servers and tools, Model Gateway, and OTLP telemetry ingestion.
servers:
  - url: https://api.atlan.com
    description: Atlan API base URL
security:
  - bearer: []
tags:
  - name: Core
  - name: Skill
  - name: Agent
  - name: Files
  - name: Knowledge
  - name: MCP
  - name: Observability
  - name: API proxy
  - name: Credentials
  - name: Store
  - name: Apps
  - name: Evals
  - name: Ontologies
  - name: Ontology bindings
  - name: Slack
  - name: GitHub
  - name: Objectives
  - name: Repositories
  - name: Models
paths:
  /ontology/v1/draft-workspaces/draft-saves:
    post:
      tags:
        - Ontologies
      summary: Save an approved unpublished draft workbench atomically
      operationId: ontology.saveDraftWorkspace
      parameters:
        - name: Content-Encoding
          in: header
          required: false
          schema:
            type: string
            enum:
              - base64
              - gzip, base64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ontology-DraftWorkspaceSave'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ontology-ImportApplyResponse'
          description: HTTP 201 response.
        '400':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - invalid_base64
                          - invalid_gzip
                          - invalid_json
          description: HTTP 400 response.
        '401':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - alg_mismatch
                          - alg_not_allowed
                          - audience_mismatch
                          - invalid_api_key
                          - missing_identity
                          - missing_org
                          - missing_user
                          - signature_invalid
                          - token_expired
                          - token_malformed
                          - token_missing
                          - token_not_yet_valid
                          - token_rejected
                          - token_service_account_unbound
                          - unauthorized
                          - unknown_account
                          - unknown_key
                          - untrusted_issuer
          description: HTTP 401 response.
        '403':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - access_denied
                          - account_suspended
                          - forbidden
                          - platform_principal_refused
          description: HTTP 403 response.
        '409':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - properties:
                      code:
                        enum:
                          - conflict
                          - duplicate_content
                        type: string
                    required:
                      - code
                    type: object
          description: HTTP 409 response.
        '413':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - compressed_payload_too_large
                          - decompressed_payload_too_large
                          - payload_too_large
          description: HTTP 413 response.
        '415':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - unsupported_content_encoding
                          - unsupported_content_type
          description: HTTP 415 response.
        '422':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - properties:
                      code:
                        enum:
                          - source_unavailable
                          - validation_failed
                        type: string
                    required:
                      - code
                    type: object
          description: HTTP 422 response.
        '500':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - internal_error
          description: HTTP 500 response.
        '503':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - auth_unavailable
                          - service_overloaded
                          - service_unavailable
          description: HTTP 503 response.
        '504':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ontology-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - request_timeout
          description: HTTP 504 response.
components:
  schemas:
    ontology-DraftWorkspaceSave:
      additionalProperties: false
      properties:
        package:
          $ref: '#/components/schemas/ontology-DraftWorkspacePackage'
        preview_id:
          type: string
      required:
        - package
        - preview_id
      type: object
    ontology-ImportApplyResponse:
      properties:
        artifacts:
          type: array
          items: {}
        committed:
          type: boolean
        preview_id:
          type: string
      required:
        - preview_id
        - committed
        - artifacts
      type: object
    ontology-ProblemDetails:
      type: object
      required:
        - title
        - status
        - detail
        - code
      properties:
        code:
          type: string
        detail:
          type: string
        status:
          type: integer
          format: int32
          minimum: 0
        title:
          type: string
        trace_id:
          type:
            - string
            - 'null'
    ontology-DraftWorkspacePackage:
      additionalProperties: false
      properties:
        bindings:
          items:
            $ref: '#/components/schemas/ontology-PortableBindingDefinition'
          type: array
        ontology_id:
          type: string
        records:
          items:
            $ref: '#/components/schemas/ontology-DraftKnowledgeRecord'
          type: array
        source_versions:
          items:
            $ref: '#/components/schemas/ontology-SourceVersion'
          type: array
      required:
        - ontology_id
        - source_versions
        - bindings
        - records
      type: object
    ontology-PortableBindingDefinition:
      additionalProperties: false
      properties:
        api_name:
          type: string
        compatibility_policy:
          $ref: '#/components/schemas/ontology-CompatibilityPolicy'
        links:
          items:
            $ref: '#/components/schemas/ontology-PortableLinkBinding'
          type: array
        objects:
          items:
            $ref: '#/components/schemas/ontology-PortableObjectBinding'
          type: array
        properties:
          items:
            $ref: '#/components/schemas/ontology-PortablePropertyBinding'
          type: array
        source_scope:
          $ref: '#/components/schemas/ontology-SourceScopeRef'
      required:
        - api_name
        - source_scope
        - compatibility_policy
        - objects
        - properties
        - links
      type: object
    ontology-DraftKnowledgeRecord:
      additionalProperties: false
      properties:
        api_name:
          type: string
        display_name:
          type: string
        effective_from:
          type: string
        effective_to:
          type:
            - string
            - 'null'
        knowledge_references:
          items:
            $ref: '#/components/schemas/ontology-KnowledgeReference'
          type: array
        record_type_api_name:
          type: string
        related_concept_api_names:
          type: array
          items:
            type: string
        relationships:
          items:
            $ref: '#/components/schemas/ontology-DraftRecordRelationship'
          type: array
        review_notes:
          type: array
          items:
            type: string
        source_passages:
          items:
            $ref: '#/components/schemas/ontology-DraftSourcePassage'
          type: array
        values:
          type: object
          additionalProperties: {}
          propertyNames:
            type: string
      required:
        - api_name
        - display_name
        - record_type_api_name
        - values
        - effective_from
      type: object
    ontology-SourceVersion:
      additionalProperties: false
      properties:
        artifact_id:
          type: string
        content_hash:
          type: string
        kind:
          type: string
        version_ordinal:
          type: integer
          format: int64
      required:
        - kind
        - artifact_id
        - version_ordinal
        - content_hash
      type: object
    ontology-CompatibilityPolicy:
      enum:
        - none
        - backward_compatible
        - full_compatible
      type: string
    ontology-PortableLinkBinding:
      additionalProperties: false
      properties:
        api_name:
          type: string
        join_keys:
          items:
            $ref: '#/components/schemas/ontology-PortableJoinKey'
          type: array
        logical_link_api_name:
          type: string
        source_object_api_name:
          type: string
        target_object_api_name:
          type: string
      required:
        - api_name
        - logical_link_api_name
        - source_object_api_name
        - target_object_api_name
        - join_keys
      type: object
    ontology-PortableObjectBinding:
      additionalProperties: false
      properties:
        api_name:
          type: string
        grain:
          $ref: '#/components/schemas/ontology-Grain'
        logical_object_api_name:
          type: string
        relation:
          $ref: '#/components/schemas/ontology-PhysicalRelation'
      required:
        - api_name
        - logical_object_api_name
        - relation
        - grain
      type: object
    ontology-PortablePropertyBinding:
      additionalProperties: false
      properties:
        api_name:
          type: string
        implementation:
          $ref: '#/components/schemas/ontology-PropertyImplementation'
        object_api_name:
          type: string
        ontology_property_api_name:
          type: string
      required:
        - api_name
        - object_api_name
        - ontology_property_api_name
        - implementation
      type: object
    ontology-SourceScopeRef:
      additionalProperties: false
      properties:
        source:
          $ref: '#/components/schemas/ontology-PhysicalReference'
      required:
        - source
      type: object
    ontology-KnowledgeReference:
      additionalProperties: false
      properties:
        concept:
          $ref: '#/components/schemas/ontology-ArtifactVersionRef'
      required:
        - concept
      type: object
    ontology-DraftRecordRelationship:
      additionalProperties: false
      properties:
        link_api_name:
          type: string
        target_record_api_name:
          type: string
      required:
        - link_api_name
        - target_record_api_name
      type: object
    ontology-DraftSourcePassage:
      additionalProperties: false
      properties:
        document_version:
          type: string
        locator:
          type: string
        quote:
          type: string
        source_id:
          type: string
      required:
        - source_id
        - document_version
        - locator
        - quote
      type: object
    ontology-PortableJoinKey:
      additionalProperties: false
      properties:
        source_property_api_name:
          type: string
        target_property_api_name:
          type: string
      required:
        - source_property_api_name
        - target_property_api_name
      type: object
    ontology-Grain:
      additionalProperties: false
      properties:
        uniqueness:
          type: array
          items:
            type: string
      required:
        - description
        - uniqueness
      type: object
    ontology-PhysicalRelation:
      oneOf:
        - $ref: '#/components/schemas/ontology-QueryBackedRelation'
        - $ref: '#/components/schemas/ontology-PhysicalReference'
    ontology-PropertyImplementation:
      oneOf:
        - properties:
            field:
              $ref: '#/components/schemas/ontology-PhysicalReference'
            kind:
              enum:
                - field
              type: string
          required:
            - field
            - kind
          type: object
        - properties:
            implementation:
              $ref: '#/components/schemas/ontology-PhysicalReference'
            kind:
              enum:
                - registered_transformation
              type: string
            output_field:
              $ref: '#/components/schemas/ontology-PhysicalReference'
          required:
            - implementation
            - output_field
            - kind
          type: object
    ontology-PhysicalReference:
      oneOf:
        - $ref: '#/components/schemas/ontology-QualifiedPhysicalReference'
        - $ref: '#/components/schemas/ontology-ArtifactVersionRef'
    ontology-ArtifactVersionRef:
      additionalProperties: false
      properties:
        artifact_id:
          type: string
        content_hash:
          type: string
        kind:
          type: string
        version_ordinal:
          type: integer
          format: int64
      required:
        - kind
        - artifact_id
        - version_ordinal
        - content_hash
      type: object
    ontology-QueryBackedRelation:
      additionalProperties: false
      properties:
        mode:
          $ref: '#/components/schemas/ontology-QueryRelationMode'
        query:
          $ref: '#/components/schemas/ontology-QueryRelation'
      required:
        - mode
        - query
      type: object
    ontology-QualifiedPhysicalReference:
      additionalProperties: false
      properties:
        kind:
          $ref: '#/components/schemas/ontology-PhysicalReferenceKind'
        qualified_name:
          type: string
      required:
        - kind
        - qualified_name
      type: object
    ontology-QueryRelationMode:
      enum:
        - query_backed
      type: string
    ontology-QueryRelation:
      additionalProperties: false
      properties:
        default_catalog:
          type:
            - string
            - 'null'
        default_schema:
          type:
            - string
            - 'null'
        dependencies:
          items:
            $ref: '#/components/schemas/ontology-QualifiedPhysicalReference'
          type: array
        dialect:
          $ref: '#/components/schemas/ontology-SqlDialect'
        outputs:
          items:
            $ref: '#/components/schemas/ontology-QueryOutput'
          type: array
        sql:
          type: string
      required:
        - dialect
        - sql
        - outputs
      type: object
    ontology-PhysicalReferenceKind:
      enum:
        - source
        - relation
        - field
        - transformation
      type: string
    ontology-SqlDialect:
      enum:
        - ansi
        - big_query
        - databricks
        - postgres
        - snowflake
      type: string
    ontology-QueryOutput:
      additionalProperties: false
      properties:
        name:
          type: string
        nullable:
          type: boolean
        physical_type:
          type: string
      required:
        - name
        - physical_type
        - nullable
      type: object
  securitySchemes:
    bearer:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.