Approve or reject a pending document workflow
Permission
An OAuth access token with this scope. How to get a token
workflows:approveApprove or reject workflows.
Parameters
Not sure what to enter? Here’s where to find IDs.
refpath · stringrequiredThe document’s number, shown as
#1234 in the ID column of your documents list and beside the title in the editor. Enter it without the #. In API responses it’s displayId.Matches ^\d+$. client_idquery · stringrequiredThe 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.
resultstringrequiredOne of
approved, rejected. reasonstringResponses
200Workflow decision applied.
dataobjectrequiredFields
idstringrequireddocumentRefstringrequiredresultstringrequiredOne of
approved, rejected. statusstringrequiredapprovalsRemainbooleanrequired400Invalid request or validation failure.
dataobjectrequiredFields
statusstringrequiredAlways
error. messagestringrequiredcodestringdocumentRefstringassetGenerationIdstringerrorsarray of objectItem fields
fieldstringrequiredmessagestringrequired401Missing or invalid bearer token or client ID.
errorstringrequirederror_descriptionstring403Insufficient scope, missing add-on, usage limit, or permission denial.
Exactly one of these:
OAuthError
errorstringrequirederror_descriptionstringApiErrorEnvelope
dataobjectrequiredFields
statusstringrequiredAlways
error. messagestringrequiredcodestringdocumentRefstringassetGenerationIdstringerrorsarray of objectItem fields
fieldstringrequiredmessagestringrequired404Requested resource was not found in the token's company.
dataobjectrequiredFields
statusstringrequiredAlways
error. messagestringrequiredcodestringdocumentRefstringassetGenerationIdstringerrorsarray of objectItem fields
fieldstringrequiredmessagestringrequiredRate limit
120 requests a minute per company, shared across REST, Zapier and MCP. On a 429, wait for Retry-After.