Skip to main content
POST
https://sandbox.getcollate.io/api
/
v1
/
classifications
POST /v1/classifications
from metadata.sdk import configure
from metadata.sdk.entities import Classifications
from metadata.generated.schema.api.classification.createClassification import CreateClassificationRequest

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

request = CreateClassificationRequest(
    name="Certification",
    description="Certifying Data Asset will provide the users with a clear idea of...",
    mutuallyExclusive=True
)

classification = Classifications.create(request)
print(f"Created: {classification.fullyQualifiedName}")
{
  "id": "06d90883-6be9-4f7e-9475-753f10a95e94",
  "name": "Certification",
  "fullyQualifiedName": "Certification",
  "description": "Certifying Data Asset will provide the users with a clear idea of...",
  "version": 0.1,
  "updatedAt": 1769982619610,
  "updatedBy": "admin",
  "deleted": false,
  "owners": [],
  "provider": "system",
  "mutuallyExclusive": true
}

Create a Classification

Create a new classification for organizing tags into categories.

Body Parameters

name
string
required
Name of the classification. Must be unique.
displayName
string
Human-readable display name for the classification.
description
string
Description of the classification in Markdown format.
mutuallyExclusive
boolean
default:"false"
If true, only one tag from this classification can be applied to an entity at a time.
owners
array
Array of owner references (users or teams) to assign to the classification.
provider
string
Provider of the classification: user (custom) or system (built-in).
POST /v1/classifications
from metadata.sdk import configure
from metadata.sdk.entities import Classifications
from metadata.generated.schema.api.classification.createClassification import CreateClassificationRequest

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

request = CreateClassificationRequest(
    name="Certification",
    description="Certifying Data Asset will provide the users with a clear idea of...",
    mutuallyExclusive=True
)

classification = Classifications.create(request)
print(f"Created: {classification.fullyQualifiedName}")
{
  "id": "06d90883-6be9-4f7e-9475-753f10a95e94",
  "name": "Certification",
  "fullyQualifiedName": "Certification",
  "description": "Certifying Data Asset will provide the users with a clear idea of...",
  "version": 0.1,
  "updatedAt": 1769982619610,
  "updatedBy": "admin",
  "deleted": false,
  "owners": [],
  "provider": "system",
  "mutuallyExclusive": true
}

Returns

Returns the created classification object with all specified properties and system-generated fields.

Response

id
string
Unique identifier for the classification (UUID format).
name
string
Classification name.
fullyQualifiedName
string
Fully qualified name of the classification.
displayName
string
Human-readable display name.
description
string
Description of the classification in Markdown format.
mutuallyExclusive
boolean
Whether tags in this classification are mutually exclusive.
provider
string
Provider of the classification: user or system.
owners
array
List of owners assigned to the classification.
version
number
Version number for the entity (starts at 0.1).

Create or Update (PUT)

Use PUT /v1/classifications instead of POST to perform an upsert. If a classification with the same fullyQualifiedName already exists, it will be updated; otherwise, a new classification is created. The request body is the same as POST.
curl -X PUT "{base_url}/api/v1/classifications" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{ ... same body as POST ... }'
PUT will not return a 409 conflict error if the entity already exists — it will update the existing entity instead.

Error Handling

CodeError TypeDescription
400BAD_REQUESTInvalid request body or missing required fields
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to create classifications
409ENTITY_ALREADY_EXISTSClassification with same name already exists (POST only)