Replace an object schema
Replaces the full JSON Schema for an object type. The request body is the complete schema document, and its `$id` must match the object in the path. The change is applied asynchronously: the response returns a task you can poll to track progress.
Authorization
apiKey API key authentication. Send your key in the Authorization header as: api-key <your-api-key>.
In: header
Path Parameters
The workspace slug — the {slug} segment of your Clarify workspace URL.
The object type: a built-in entity (person, company, deal, …) or a custom object (c_*).
Query Parameters
When true, suppresses in-app and Slack notifications for this mutation.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The complete JSON Schema document for the object type. Its $id must match the object in the path.
Response Body
application/json
curl -X PUT "https://example.com/workspaces/string/schemas/objects/string" \ -H "Content-Type: application/json" \ -d '{ "$schema": "https://json-schema.org/draft/2020-12/clarify", "$id": "https://getclarify.ai/schemas/entities/c_project", "title": "Project", "type": "object", "xClarifyNamespace": "objects", "xClarifyLabel": { "singular": "Project", "plural": "Projects" }, "xClarifyAIDescription": "A customer project tracked alongside deals and companies.", "properties": { "name": { "type": "string", "title": "Name", "xClarifyPrimary": true }, "status": { "type": [ "string", "null" ], "title": "Status", "enum": [ "Planning", "In progress", "Complete" ] }, "company_id": { "type": [ "string", "null" ], "title": "Company", "xClarifyRelationship": { "kind": "many-to-one", "entity": "company", "field": "projects" } }, "budget": { "type": [ "number", "null" ], "title": "Budget" } } }'{
"data": {
"type": "async-task",
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"attributes": {
"_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"user_id": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81",
"type": "schema_modification",
"progress": 0,
"total": null,
"metadata": {
"entity": "c_project"
},
"queued_at": "2026-01-15T09:30:00.000Z",
"started_at": null,
"completed_at": null,
"failed_at": null,
"error_code": null,
"_created_at": "2026-01-15T09:30:00.000Z",
"_updated_at": "2026-01-15T09:30:00.000Z"
}
}
}Add or remove enum field values
Adds or removes options on enum (single- and multi-select) fields for one object type. The request carries exactly one item in `data`; each field in `meta` names an `append` or `remove` operation. To modify several object types, send separate requests.
Reorder object fields
Sets the display order of an object type’s fields. The `order` array lists every field name in the desired order. The change is applied asynchronously and the response body is empty.