Add object relationships
Creates relationship fields between object types. The `attributes` map is keyed first by object type, then by field name, and both sides of each relationship must be supplied together so the pairing is consistent. On `one-to-many` and `many-to-many` sides, the field must declare `"oneOf": [{ "$ref": "https://getclarify.ai/schemas/core/collectionOfIds" }, { "type": "null" }]` — the exact `$ref` string is required. The change is applied asynchronously and the response body is empty.
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.
Response Body
application/json
curl -X POST "https://example.com/workspaces/string/schemas/string/relationships" \ -H "Content-Type: application/json" \ -d '{ "data": { "type": "relationship", "attributes": { "c_project": { "company_id": { "title": "Company", "type": [ "string", "null" ], "xClarifyRelationship": { "kind": "many-to-one", "entity": "company", "field": "projects" } } }, "company": { "projects": { "title": "Projects", "oneOf": [ { "x-ref": "https://getclarify.ai/schemas/core/collectionOfIds" }, { "type": "null" } ], "xClarifyRelationship": { "kind": "one-to-many", "entity": "c_project", "field": "company_id" } } } } } }'{}Add object fields
Adds one or more non-relationship fields to an object type. Each key in `attributes` is a new field name mapped to its JSON Schema. Fields that already exist are rejected — this endpoint never overwrites. The change is applied asynchronously and the response body is empty.
Delete a custom object
Deletes a custom object type and all of its records. The deletion runs asynchronously: the response returns a task you can poll to track progress. Only custom (`c_*`) objects can be deleted. This cannot be undone.