Send document

POST/api/v1/sendDocument

Send or schedule an existing document

Permission

An OAuth access token with this scope. How to get a token

documents:send
Send, schedule, cancel, reschedule, or retry deliveries.

Parameters

Not sure what to enter? Here’s where to find IDs.

client_idquery · stringrequired
The Client ID of your OAuth client. It’s public, and goes on every request alongside your access token. Find it in QuoteCloud under Settings → API dashboard → Manage Integrations → OAuth Clients.Length at least 1.

Request body

Sent as application/json.

documentRefstringrequired
sendAtstring (date-time)
idempotencyKeystring
senderRefstring
sendToarray of string (email)required
Items at least 1.
sendCCarray of string (email)
sendBCCarray of string (email)
subjectstring
bodystring
attachPDFvaries
Boolean coercion accepted by the v1 compatibility routes.
Fields

Exactly one of these:

Option 1boolean
Option 2number
One of 0, 1.
Option 3string
One of true, false, 1, 0, yes, no, y, n.
expiresAtstring (date-time)
deliveryRuleRefstring
timeZonestring
Default UTC.

Responses

200Document sent or scheduled.
dataobjectrequired
Fields
statusstringrequired
Always success.
documentRefstringrequired
deliveryRefstring
deliveryStatusstringrequired
One of scheduled, sent.
400Invalid request or validation failure.
dataobjectrequired
Fields
statusstringrequired
Always error.
messagestringrequired
codestring
documentRefstring
assetGenerationIdstring
errorsarray of object
Item fields
fieldstringrequired
messagestringrequired
401Missing or invalid bearer token or client ID.
errorstringrequired
error_descriptionstring
403Insufficient scope, missing add-on, usage limit, or permission denial.

Exactly one of these:

OAuthError
errorstringrequired
error_descriptionstring
ApiErrorEnvelope
dataobjectrequired
Fields
statusstringrequired
Always error.
messagestringrequired
codestring
documentRefstring
assetGenerationIdstring
errorsarray of object
Item fields
fieldstringrequired
messagestringrequired
404Requested resource was not found in the token's company.
dataobjectrequired
Fields
statusstringrequired
Always error.
messagestringrequired
codestring
documentRefstring
assetGenerationIdstring
errorsarray of object
Item fields
fieldstringrequired
messagestringrequired
429Shared company API request quota exceeded. Wait before retrying.
Retry-Afterheader · integer
Minimum seconds to wait before retrying.Value at least 1.
dataobjectrequired
Fields
statusstringrequired
Always error.
messagestringrequired
retryAfterSecondsintegerrequired
Value at least 1.
502Document was created or prepared but PDF/email processing failed.
dataobjectrequired
Fields
statusstringrequired
Always error.
messagestringrequired
codestring
documentRefstring
assetGenerationIdstring
errorsarray of object
Item fields
fieldstringrequired
messagestringrequired

Rate limit

120 requests a minute per company, shared across REST, Zapier and MCP. On a 429, wait for Retry-After.