Clarify API
Schemas

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.

PUT
/workspaces/{workspace}/schemas/objects/{object}
Authorization<token>

API key authentication. Send your key in the Authorization header as: api-key <your-api-key>.

In: header

Path Parameters

workspace*string

The workspace slug — the {slug} segment of your Clarify workspace URL.

object*string

The object type: a built-in entity (person, company, deal, …) or a custom object (c_*).

Query Parameters

silent?boolean

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"
    }
  }
}