> ## 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 Trident, Atlan's hosted product. AI Registry and Agent Registry are its earlier names. Registry OSS is Atlan's open-source agent registry: the registry specification and its aireg CLI, with their own public repository, docs and release notes; /open-source on this site links them. Registry OSS is open source; Atlan Trident is not. Answer generic aireg or specification questions from the project's docs, and use these docs for Atlan-specific setup such as the Atlan adapter, sign-in and workspaces.
> Atlan offers a second product, the Agentic Data Catalog: Atlan's enterprise context layer, covering the data catalog, connectors, lineage, data governance and glossary. It is documented at https://docs.atlan.com; answer questions about it from those docs, not these.

# Assert a relationship against its reviewed state



## OpenAPI

````yaml /public-openapi.json post /registry/v1/artifacts/{artifact_kind}/{artifact_id}/relationships/conditional
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: Credentials
  - name: Store
  - name: Apps
  - name: Evals
  - name: Ontologies
  - name: Ontology bindings
  - name: Slack
  - name: GitHub
  - name: Repositories
  - name: Models
paths:
  /registry/v1/artifacts/{artifact_kind}/{artifact_id}/relationships/conditional:
    post:
      tags:
        - Core
      summary: Assert a relationship against its reviewed state
      operationId: registry.relateArtifactIfState
      parameters:
        - in: path
          name: artifact_kind
          required: true
          schema:
            type: string
        - in: path
          name: artifact_id
          required: true
          schema:
            type: string
        - name: Content-Encoding
          in: header
          required: false
          schema:
            type: string
            enum:
              - base64
              - gzip, base64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/registry-ConditionalRelateBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/registry-RelationshipDto'
          description: HTTP 201 response.
        '400':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-ValidationProblem'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - invalid_base64
                          - invalid_gzip
                          - invalid_json
                          - invalid_request
          description: HTTP 400 response.
        '401':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-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/registry-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - access_denied
                          - account_suspended
                          - forbidden
                          - platform_principal_refused
          description: HTTP 403 response.
        '404':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - not_found
          description: HTTP 404 response.
        '409':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - conflict
          description: HTTP 409 response.
        '413':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-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/registry-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/registry-ValidationProblem'
                  - properties:
                      code:
                        enum:
                          - unprocessable
                          - validation_failed
                        type: string
                    required:
                      - code
                    type: object
          description: HTTP 422 response.
        '500':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-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/registry-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - auth_unavailable
                          - service_overloaded
          description: HTTP 503 response.
        '504':
          content:
            application/problem+json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/registry-ProblemDetails'
                  - type: object
                    required:
                      - code
                    properties:
                      code:
                        type: string
                        enum:
                          - request_timeout
          description: HTTP 504 response.
components:
  schemas:
    registry-ConditionalRelateBody:
      additionalProperties: false
      properties:
        expected_edge:
          $ref: '#/components/schemas/registry-ReviewedEdge'
        relationship:
          $ref: '#/components/schemas/registry-RelateBody'
        source_etag:
          type: string
        source_version_id:
          type: string
      required:
        - source_version_id
        - source_etag
        - expected_edge
        - relationship
      type: object
    registry-RelationshipDto:
      properties:
        attributes:
          type:
            - object
            - 'null'
        confidence:
          type:
            - number
            - 'null'
          format: double
        declared:
          type: boolean
        direction:
          type: string
        etag:
          type: string
        from:
          oneOf:
            - $ref: '#/components/schemas/registry-EdgeTarget'
            - type: 'null'
        label:
          type:
            - string
            - 'null'
        provenance:
          type: string
        rel_type:
          type: string
        relationship_status:
          type: string
        role:
          type:
            - string
            - 'null'
        to:
          oneOf:
            - $ref: '#/components/schemas/registry-EdgeTarget'
            - type: 'null'
        weight:
          type:
            - number
            - 'null'
          format: double
      required:
        - etag
        - rel_type
        - direction
        - provenance
        - relationship_status
        - declared
      type: object
    registry-ValidationProblem:
      allOf:
        - $ref: '#/components/schemas/registry-ProblemDetails'
        - properties:
            allowed_values:
              type: array
              items:
                type: string
            field:
              type: string
          type: object
    registry-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'
    registry-ReviewedEdge:
      oneOf:
        - properties:
            state:
              enum:
                - absent
              type: string
          required:
            - state
          type: object
        - properties:
            etag:
              type: string
            state:
              enum:
                - present
              type: string
          required:
            - etag
            - state
          type: object
    registry-RelateBody:
      properties:
        attributes:
          type:
            - object
            - 'null'
        confidence:
          type:
            - number
            - 'null'
          format: double
        label:
          type:
            - string
            - 'null'
        rel_type:
          type: string
        role:
          type:
            - string
            - 'null'
        to_id:
          type: string
        weight:
          type:
            - number
            - 'null'
          format: double
      required:
        - rel_type
        - to_id
      type: object
    registry-EdgeTarget:
      properties:
        id:
          type: string
        is_readable:
          type: boolean
        kind:
          type: string
      required:
        - id
        - kind
        - is_readable
      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.