curl --request POST \
--url https://ndi-api.nace.ai/v1/domains/generate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '{}'{
"suggested_display_name": "<string>",
"suggested_slug": "<string>",
"taxonomy": {
"allow_other": true,
"classes": [
{
"description": "<string>",
"group": "<string>",
"subgroup": "<string>",
"aliases": [
"<string>"
]
}
]
},
"validation": {
"effective_class_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
}
}generate_domain
Draft a taxonomy from a description or Parse job. Cost class: slow.
Synchronous and non-persisting: the model proposes a taxonomy the author
edits, then posts to POST /v1/domains. Nothing is written to the
database and no job is created. Kept off MCP because authoring is a reviewed
human act, not an agent-loop step.
curl --request POST \
--url https://ndi-api.nace.ai/v1/domains/generate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '{}'{
"suggested_display_name": "<string>",
"suggested_slug": "<string>",
"taxonomy": {
"allow_other": true,
"classes": [
{
"description": "<string>",
"group": "<string>",
"subgroup": "<string>",
"aliases": [
"<string>"
]
}
]
},
"validation": {
"effective_class_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
Body
Ask the model for an unsaved taxonomy draft.
Nothing is persisted: the caller edits the draft, then posts it to
POST /v1/domains. Optional display_name / slug seed the
suggested identity fields returned alongside the taxonomy. Exactly one
input is required: a written description, or a succeeded Parse job.
What kinds of files belong in this domain — the classifier-facing brief.
1 - 4000Optional name hint used when suggesting a display name and slug.
1 - 200Workbook worksheet to extract. Required when the Parse result contains multiple sheets.
1 - 200Optional slug hint. When omitted, the model derives one from the input.
64^[a-z0-9]+(?:_[a-z0-9]+)*$Succeeded Parse job whose content contains the taxonomy to extract.
Show child attributes
Show child attributes
Response
Successful Response
An unsaved draft ready for the authoring UI to edit and then create.
1 - 20064^[a-z0-9]+(?:_[a-z0-9]+)*$The classification vocabulary.
Show child attributes
Show child attributes
Publish-gate check on the normalized draft — always run so the UI knows it can create cleanly.
Show child attributes
Show child attributes