Request an attachment upload URL
Returns a pre-signed URL for uploading a file. Upload the file contents to signedUrl via HTTP PUT, then attach it to the record by POSTing the returned key and attachmentId to the attachments endpoint.
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_*).
The unique ID of the record.
Query Parameters
When true, suppresses in-app and Slack notifications for this mutation.
Header Parameters
The API version for this request. Send 2026-10 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 PUT "https://example.com/workspaces/string/objects/string/records/string/attachments" \ -H "clarify-version: 2026-10" \ -H "Content-Type: application/json" \ -d '{ "name": "proposal.pdf" }'{ "data": { "signedUrl": "https://storage.clarify.ai/attachments/acme/person/3b9f5c7d-6e2a-4f8b-9d1c-0a7e5b3f9d24/proposal.pdf?signature=...", "key": "attachments/acme/person/3b9f5c7d-6e2a-4f8b-9d1c-0a7e5b3f9d24/proposal.pdf", "attachmentId": "3b9f5c7d-6e2a-4f8b-9d1c-0a7e5b3f9d24", "entity": "person", "_id": "5f8b7d2e-9c4a-4e1b-8f3d-2a6c9e0b4d71" }}