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/:decision

Authorization

time:approve_teamapi key scoperequired
Required scope when calling with an API key.

Path parameters

idstringrequired
Approval ID

Example: approval_01k2...

decisionstringrequired
Human decision

Example: approve

Request body

confirmbooleanrequired
Must be true after human review
reasonstringoptional
Required 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_auth

No credentials provided

401
invalid_api_key

API key is invalid or revoked

400
bad_request

Missing or invalid request fields

403
scope_insufficient

Key lacks the required write scope

403
approval_ineligible

Caller is not eligible to decide this approval

400
reason_required

A rejection reason is required