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 and batches its live updates, so open views can lag by up to 20 seconds.
Header Parameters
The API version for this request. Send 2026-11 to get the behavior documented here. Omit it to use your API key's version, which this header can raise but not lower.
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 "clarify-version: 2026-11" \ -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" } } ]}Autofill record fields
Fills fields on records by running each field's autofill: enrichment, AI or a formula. Pick records by `record_ids` and fields by `fields` (all autofill fields when left out). Fills run in the background and write to the records. Set `max_credits` to cap what AI fields may spend.
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.