publish_domain
curl --request POST \
--url https://ndi-api.nace.ai/v1/domains/{domain_id}/publish \
--header 'X-API-Key: <api-key>'{
"domain": {
"class_count": 123,
"display_name": "<string>",
"domain_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ontology": {
"allow_other": false,
"edge_types": [
{
"description": "<string>",
"from_types": [
"<string>"
],
"name": "<string>",
"to_types": [
"<string>"
],
"property_hints": [
"<string>"
]
}
],
"node_types": [
{
"description": "<string>",
"name": "<string>",
"tier": 3,
"identifier_hints": [
"<string>"
],
"property_hints": [
"<string>"
]
}
]
},
"owner": "platform",
"selectable": true,
"slug": "<string>",
"status": "draft",
"taxonomy": {
"allow_other": true,
"classes": [
{
"description": "<string>",
"document_type": "<string>",
"group": "<string>",
"subgroup": "<string>",
"aliases": [
"<string>"
]
}
]
},
"version": 123,
"parent_slug": "<string>",
"published_at": "2023-11-07T05:31:56Z"
},
"validation": {
"effective_class_count": 123,
"effective_edge_type_count": 123,
"effective_node_type_count": 123,
"valid": true,
"errors": [
{
"code": "<string>",
"message": "<string>",
"path": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}publish_domain
Freeze a draft version and make it selectable by workspaces. Cost class: fast.
The gate is the full validation list: R0 mapping complete, every edge
endpoint a declared node type, no duplicate group/subgroup, other not
redefined, and the caps respected.
There is no delete route — a workspace whose domain vanished could not explain its own categories. Move workspaces to a newer version instead.
POST
/
v1
/
domains
/
{domain_id}
/
publish
publish_domain
curl --request POST \
--url https://ndi-api.nace.ai/v1/domains/{domain_id}/publish \
--header 'X-API-Key: <api-key>'{
"domain": {
"class_count": 123,
"display_name": "<string>",
"domain_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ontology": {
"allow_other": false,
"edge_types": [
{
"description": "<string>",
"from_types": [
"<string>"
],
"name": "<string>",
"to_types": [
"<string>"
],
"property_hints": [
"<string>"
]
}
],
"node_types": [
{
"description": "<string>",
"name": "<string>",
"tier": 3,
"identifier_hints": [
"<string>"
],
"property_hints": [
"<string>"
]
}
]
},
"owner": "platform",
"selectable": true,
"slug": "<string>",
"status": "draft",
"taxonomy": {
"allow_other": true,
"classes": [
{
"description": "<string>",
"document_type": "<string>",
"group": "<string>",
"subgroup": "<string>",
"aliases": [
"<string>"
]
}
]
},
"version": 123,
"parent_slug": "<string>",
"published_at": "2023-11-07T05:31:56Z"
},
"validation": {
"effective_class_count": 123,
"effective_edge_type_count": 123,
"effective_node_type_count": 123,
"valid": true,
"errors": [
{
"code": "<string>",
"message": "<string>",
"path": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}{
"error": {
"code": "invalid_request",
"detail": null,
"message": "Request body has extra fields that this operation does not accept.",
"request_id": "req-01j9k2n3p4q5r6s7t8v9",
"retryable": false
}
}Authorizations
Path Parameters
Domain version identifier.
Response
Successful Response
A domain with inheritance already resolved.
A caller reading a domain wants the vocabulary that will actually be applied, not a delta they have to merge themselves.
Show child attributes
Show child attributes
Returned on every domain write, so a caller never has to guess whether a publish will succeed.
Show child attributes
Show child attributes