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. The response lists one record per input, in input order.
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 linked records for to-one and many-to-many relationships with the records in `data`: links not listed are removed. For one-to-many relationships the listed records are linked additively; pass `id: null` to unlink every related record first.
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.