Decide a time approval
Approves or rejects one submission only when the caller is an eligible approver in the resolved workspace. Rejections require a reason.
POST
/api/v1/time-approvals/:id/:decisionAuthorization
time:approve_teamapi key scoperequiredRequired scope when calling with an API key.
Path parameters
idstringrequiredApproval ID
Example: approval_01k2...
decisionstringrequiredHuman decision
Example: approve
Request body
confirmbooleanrequiredMust be true after human review
reasonstringoptionalRequired for rejection
Example request
{
"confirm": true
}Request
curl -X POST "https://www.digitalstack360.com/api/v1/time-approvals/approval_01k2.../approve" \
-H "Authorization: Bearer $DS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"confirm":true}'Examples use a placeholder key from your environment. Store your key in $DS_API_KEY — never commit it.
Response
200 OK
{
"data": {
"approval_id": "approval_01k2...",
"submission_id": "submission_01k2...",
"state": "approved",
"submission_state": "approved"
},
"meta": {
"eligible_only": true
}
}Errors
401
missing_authNo credentials provided
401
invalid_api_keyAPI key is invalid or revoked
400
bad_requestMissing or invalid request fields
403
scope_insufficientKey lacks the required write scope
403
approval_ineligibleCaller is not eligible to decide this approval
400
reason_requiredA rejection reason is required