---
title: "get_domain"
method: GET
path: "/v1/domains/{domain_id}"
tags: ["domains"]
---

# get_domain

`GET /v1/domains/{domain_id}`

## Request

- Base URL: `https://ndi-api.nace.ai`
- URL: `https://ndi-api.nace.ai/v1/domains/{domain_id}`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/nace/apis/ndi-service/docs/v1/domains/:domain_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Read one domain version, with inheritance already resolved. Cost class: cacheable.

A caller reading a domain wants the vocabulary that will actually be applied,
not a delta they have to merge themselves.

## Path parameters

- `domain_id` string, uuid, required: Domain version identifier.

## Response `200`

Successful Response

- Domain: A domain with its effective taxonomy already resolved. A caller reading a domain wants the taxonomy that will actually be applied, not a delta they have to merge themselves.
  - `domain_id` string, uuid, required
  - `slug` string, required
  - `display_name` string, required
  - `owner` 'platform' | 'tenant', required
  - `version` integer, required
  - `status` 'draft' | 'published', required
  - `parent_slug` string, nullable: Inheritance lineage for platform domains that extend a base vocabulary.
  - `class_count` integer, required
  - `selectable` boolean, required: True once published; a workspace may only pin a published version.
  - `taxonomy` TaxonomyOutput, required: The classification vocabulary.
    - `classes` TaxonomyClass[]
      - `group` string, required
      - `subgroup` string, required
      - `description` string, required: Written for the classifier — it IS the prompt.
      - `aliases` string[]: Renames land here so old folder paths stay resolvable.
    - `allow_other` true: Cannot be disabled: a document that fits nothing is labelled 'other', never force-fitted.
  - `published_at` string, date-time, nullable

## Other responses

- `504`: Gateway Timeout
- `default`: Typed error envelope used by every 4xx and 5xx. ``error.code`` distinguishes the failure; HTTP status is a consequence of the code.

## Changes

- **2026-11-09** `96d7f0062b0e`: 14 info
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `402`
  - removed the non-success response with the status `403`
  - …10 more

[Operation history](https://skmtc.dev/nace/apis/ndi-service/changes/v1/domains/:domain_id/get.md)

---

[API](https://skmtc.dev/nace/apis/ndi-service.md) - [All operations](https://skmtc.dev/nace/apis/ndi-service/llms.txt) - [OpenAPI document](https://skmtc.dev/nace/apis/ndi-service/revisions/7446add97e14?raw)
