KintsugiKintsugi

Upload an attachment

POST/attachments

Attach a document to a related entity in the resolved organization, as multipart/form-data with the file in the file part and relatedEntityId and relatedEntityType as form fields. Returns the stored attachment's metadata. Returns 404 if the related entity does not exist or belongs to an organization your credential cannot access. The file must be at most 10 MB.

Authorization

Api-KeystringRequired

Your secret API key. Include it with every request.

Headers

Api-Versiondate

Release date, as YYYY-MM-DD. Defaults to 2026-07-21.

Organization-Idstring

Target organization id (Organization-Id selector).

Connection-Idstring

Target connection id; resolves to its organization.

Entity-Idstring

Platform entity id; resolves to a connection's organization.

Entity-Sourcestring

Optional source to disambiguate an Entity-Id.

Response

idstringRequired

Kintsugi's unique identifier for the attachment.

fileNamestringRequired

Name the file was uploaded under.

contentTypestringRequired

Media type of the file.

sizeintegerRequired

Size of the file in bytes.

relatedEntityRelatedEntityRefRequired

The entity this attachment is held against.

uploadedAtstringRequired

When the attachment was uploaded, as an RFC-3339 UTC timestamp.

201

Successful Response

400

The request was invalid.

401

Authentication failed or was missing.

403

The credential is not permitted for this request.

404

The requested resource was not found.

409

The request conflicts with existing state.

413

The request body is larger than this endpoint accepts.

422

The request failed validation.

cURL
POST /attachments
-H "Api-Key: ***"
-H "Api-Version: 2026-07-21"
Response
{
"id": "atch_2mNpQr7Ls8f3k",
"fileName": "resale-certificate.pdf",
"contentType": "application/pdf",
"size": 20481,
"relatedEntity": {
"id": "exmp_2mNpQr7Ls8f3k",
"type": "EXEMPTION"
},
"uploadedAt": "2026-07-28T12:00:00Z"
}
Upload an attachment (2026-07-21) | Kintsugi API Reference