Create records in bulk
Creates multiple records of the given object type in one request. The request is validated as a whole: if any record fails validation, none are created. Pass `match_on` with the name of a unique field to upsert matching records instead of creating duplicates.
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/objects/string/records/bulk" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "type": "person", "attributes": { "name": { "first_name": "Jane", "last_name": "Doe" }, "email_addresses": { "items": [ "jane@acme.com" ] }, "job_title": "VP of Marketing", "company_id": "c0a80121-7ac0-4b1c-8b6d-3e5f9a2d4c88" } }, { "type": "person", "attributes": { "name": { "first_name": "John", "last_name": "Smith" }, "email_addresses": { "items": [ "john@acme.com" ] }, "company_id": "c0a80121-7ac0-4b1c-8b6d-3e5f9a2d4c88" } } ] }'{
"links": {
"next": null,
"prev": null
},
"meta": {
"total_records": 1,
"total_pages": 1,
"offset": 0,
"limit": 500
},
"data": [
{
"type": "person",
"id": "5f8b7d2e-9c4a-4e1b-8f3d-2a6c9e0b4d71",
"attributes": {
"_id": "5f8b7d2e-9c4a-4e1b-8f3d-2a6c9e0b4d71",
"name": {
"first_name": "Jane",
"last_name": "Doe"
},
"email_addresses": {
"items": [
"jane@acme.com"
]
},
"job_title": "VP of Marketing",
"company_id": "c0a80121-7ac0-4b1c-8b6d-3e5f9a2d4c88",
"_created_at": "2026-01-15T09:30:00.000Z",
"_updated_at": "2026-02-01T17:45:00.000Z"
}
}
]
}Replace related records
Replaces the full set of records linked through the given relationship with the records in `data`. Links not listed are removed; this is not additive.
Create a record
Creates a record of the given object type. Pass `match_on` with the name of a unique field to upsert: when an incoming value matches exactly one existing record, that record is updated instead of a new one being created.