Before you begin
Before you start, make sure you have:- Extensions: An administrator has installed the Ontology extension, which includes bindings. Until then, these routes, artifact kinds, Studio pages, and MCP tools are not available.
- Ontology release: A published ontology release, with its ID, release number, and manifest digest. Core Registry release IDs use the
rel_...form. - Credentials:
ATLAN_GATEWAY_URLandATLAN_TOKENin your environment, from an approved secret store. See Send bearer token.
1
Create binding and mappings
Open Ontology Studio, select an ontology with a published release, then choose Data bindings:Saving a mapping appends a draft version. Existing releases stay pinned to the versions they published.If you already have a portable binding document, choose Import binding JSON on Data bindings instead. Studio previews the document against the selected ontology release, and applying a valid preview creates the binding family and all its mappings as drafts and opens the imported family’s page. To do the same through the API, see Import portable binding (optional). You still validate and publish an imported binding.To draft a binding against a model that has no published release yet, use the native draft flow instead:
- Choose New binding. If the ontology has more than one release, the dialog asks for the Ontology release to lock the binding to; otherwise Studio locks it to the latest release. A binding family records that exact logical release, a physical source scope, and its Versioning policy: Any change allowed (
none), Backward compatible (backward_compatible, the default), or Fully compatible (full_compatible). Choose Create binding to save it. - Studio opens the binding family’s own page. On its Mappings tab, choose Map object, Map property, and Map link to add mappings.
Studio shows the binding family’s API name and ID under its name. Copy it into your shell:
POST /ontology/v1/native-drafts/preview previews separate binding drafts (and Knowledge Record drafts in the same package) pinned to the exact unpublished model, and POST /ontology/v1/native-drafts/draft-saves saves them all-or-nothing with a direct human approval. Publishing the binding then waits for the model’s release, as in Draft cannot be published or activated.2
Declare SQL-backed relation (optional)
Use a query-backed relation when a bounded read-only query, rather than one table or view, implements the logical object. In Studio, choose SQL-backed virtual relation for the object mapping. In portable binding JSON, the object mapping’s Supported dialects are
relation takes this form:ansi, big_query, databricks, postgres, and snowflake. The extension parses and versions the declaration; the calling agent or query gateway runs it with customer-controlled credentials.3
Validate and publish binding release
Validate and publish the binding in Ontology Studio:Publication appends an immutable snapshot to the binding root and releases that exact version through Core Registry.
- On Data bindings, open the binding family’s page.
- Choose its Publish tab.
- Choose Validate mapping. Validation checks that the mappings resolve, the logical endpoints agree, and joined logical property types are compatible.
- Enter a release such as
1.0.0, then choose Publish binding release. The release must be a semantic version greater than the binding’s latest release, and under any policy except Any change allowed, a breaking change needs a greater major version. Studio fills in a suggested version, and the button stays disabled until validation passes and the version has the formmajor.minor.patch. Publishing a label that already exists with different content is refused withrelease_label_conflict.
POST /ontology/v1/bindings/validations and POST /ontology/v1/bindings/releases. Read the published release ID back through the API:4
Verify binding context
Retrieve bounded context from the binding release:The response pairs logical definitions with their released physical mappings. An MCP client reaches the same read-only operation as
extension__ontology__get_binding_context. Pass ontology_release_id to test reuse against a newer release of the same ontology; reuse succeeds only when every referenced logical resource keeps its exact version and content hash. If it does not, see Newer ontology release does not reuse binding.Pass logical_resource_ids with the logical resources the question depends on to get their declaration coverage even when the query text would not select them, then read the response’s handoff report. It lists missing declarations, such as an unmapped object or property or a link with no governed join, with the artifact ID, the property where relevant, and a remediation. The report covers declarations only; it never claims that warehouse execution is safe.In Ontology Studio, the Ask tab of the Agent context page shows the same released context as one card per mapped definition: the logical definition, its declared physical source, grain, columns, and joins, exactly as published. The results header shows the exact binding and ontology release IDs and the release checksum. Results can show the logical model and its data bindings together, grouped under Logical model and Data bindings. Then:- Mapping handoff: The binding results can include this card for exactly the logical definitions the question returned. It lists each blocker with its code, affected definition or property, and remediation, and each derivation with a status of mapped declaration, unbound, or unsupported and the reason. Warehouse existence, join cardinality, and execution are not verified, and when coverage is partial the card says so.
- Release check: A combined answer stays on the selected release. Studio refuses a logical reply that names a different release, and a binding reply that does not match the selected binding, logical release, or the logical reply’s manifest digest, and reports it as an error.
- Supporting evidence: Under Supporting knowledge records, turn on Include released evidence, choose a Record set and its Exact record-set release (only releases pinned to the selected ontology release are offered), and set Valid as of. Evidence keyword (optional) narrows the records; leaving it empty returns a bounded inventory. Matching records appear under Supporting knowledge evidence with their lifecycle state, effective dates, version, content hash, governed values, relationships, and supporting documents. Evidence supports an explanation; it does not prove causation or override the logical model. If evidence retrieval is unavailable, Studio reports the error and keeps the logical and binding results.
- Both the ontology and binding release IDs are exact
rel_...handles. - Validation returned
is_valid: truefor the versions you published. - The binding response carries both manifest digests.
- Qualified physical names and SQL declarations contain no credentials.
- The calling agent or executor uses a separately governed source connection.
5
Export portable binding (optional)
Export one exact binding release as deterministic, credential-free JSON, for example to recreate it in another workspace:The
document uses logical API names rather than environment-specific artifact IDs. It contains physical declarations, but no credentials or source data. A release with legacy artifact-based physical references cannot be exported this way; see Portable binding export refused.6
Import portable binding (optional)
Preview a portable document against one exact destination ontology release:Apply the unchanged valid preview:Apply recomputes the preview and creates the binding root and every mapping in one Registry transaction, and its response returns the new
binding_id. It creates drafts and does not publish a binding release, so validate and publish the imported binding as in Validate and publish binding release. Preview and apply never contact a physical source.Archive mapping or binding family
Open a binding family from Data bindings to archive the drafts it no longer needs. Nothing is deleted:- Archive mapping: Open a mapping and choose Archive mapping to remove it from the family’s drafts and from the next binding release. Published binding releases keep the version they are locked to. When other mappings refer to the one you archive, Studio names them, and validation reports them until you edit or archive them.
- Archive family: Choose Archive family on the binding family’s page to archive the family and all its draft mappings. The family disappears from Data bindings for everyone in the workspace. Studio asks you to type the family’s API name to confirm.
Troubleshooting
If the extensions are not available, a binding export is refused, or a binding does not carry over to a newer ontology release, see Ontology errors.Next steps
- Get bounded ontology-binding context: Give an agent bounded logical definitions and released physical mappings through MCP.
See also
- Publish an ontology through the API: Define and publish the logical resources that a binding references.
- Public API: Released request, response, and problem contracts.