Skip to content

API model

Reference documentation

This is reference documentation covering the entire Atlan model. It is not the best place to start when trying to understand how to manage API assets in Atlan. For that, we would suggest starting with the manage API assets pattern.

Base class for API assets.

classDiagram
    direction RL
    class API {
        <<abstract>>
    }
    link API "../api"
    class Catalog {
        <<abstract>>
    }
    link Catalog "../entities/catalog"
    Catalog <|-- API : extends
    class Asset {
        <<abstract>>
    }
    link Asset "../entities/asset"
    Asset <|-- Catalog : extends
    class Referenceable {
        <<abstract>>
    }
    link Referenceable "../entities/referenceable"
    Referenceable <|-- Asset : extends
    class APISpec
    link APISpec "../entities/apispec"
    API <|-- APISpec : extends
    class APIPath
    link APIPath "../entities/apipath"
    API <|-- APIPath : extends
    class APIObject
    link APIObject "../entities/apiobject"
    API <|-- APIObject : extends
    class APIQuery
    link APIQuery "../entities/apiquery"
    API <|-- APIQuery : extends
    class APIField
    link APIField "../entities/apifield"
    API <|-- APIField : extends

Properties

These attributes are specific to instances of API (and all of its subtypes).

apiExternalDocs

External documentation of the API.

apiIsAuthOptional

Whether authentication is optional (true) or required (false).

apiSpecName

Simple name of the API spec, if this asset is contained in an API spec.

apiSpecQualifiedName

Unique name of the API spec, if this asset is contained in an API spec.

apiSpecType

Type of API, for example: OpenAPI, GraphQL, etc.

apiSpecVersion

Version of the API specification.

apiIsObjectReference

Whether this asset refers to an APIObject (true) or not (false). Used for APIField and APIQuery assets.

apiObjectQualifiedName

Qualified name of the APIObject that is referred to by this asset. Used when apiIsObjectReference is true.

Relationships

The following illustrates how the various API objects inter-relate with each other:

erDiagram
    Connection ||..o{ APISpec : ""
    APISpec ||--o{ APIPath : apiPaths
    Connection ||..o{ APIObject : ""
    Connection ||..o{ APIQuery : ""
    APIObject ||--o{ APIField : apiFields
    APIQuery ||--o{ APIField : apiFields
    APIObject o|..o{ APIField : apiObjectReference
    APIObject o|..o{ APIQuery : apiQueryOutput