Reject Approval Request
POST/api/approval-requests/:approvalRequest/reject
Reject a pending approval request at its current step. The request becomes rejected, the requester is notified with the reason, and the document stays unapproved (a purchase order stays in draft; an open purchase order awaiting re-approval keeps its changes flagged). The requester can amend the document and request approval again.
purchase-orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token with the purchase-orders scope (read for GET, write for POST/PUT/DELETE). You must be eligible for the current step.
Body fields:
notes(string, required, 3–1000 characters) — the reason, shown to the requester
Error responses carry a machine-readable code next to the human message:
403approval_limit_exceeded— you are not eligible for the current step (over your limit, your own request under separation of duties, or you already decided this step). Other 403 codes:approval_withdraw_forbidden,approval_remind_forbidden,approval_override_forbidden,approval_reroute_forbidden.409approval_state_conflict— the request is no longer pending (already approved, rejected, withdrawn, or superseded by a newer request after the document changed). Re-read it and act on the current request.404— the approval request does not exist.
Request
Responses
- 200
- 401
- 403
- 404
- 409
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden
Response Headers
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Conflict
Response Headers
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.