Skip to main content

Endpoint

Authentication

This endpoint requires an OAuth access token. Send it as a bearer token:
Required scope: tasks:write
The decision is submitted as the access token’s user, who must already be an eligible approver on the step. If they are not, the request returns 400 - it will not add them to the approver list.

Path Parameters

Request Body

The request body must be a JSON object with the following fields:

Required Fields

Optional Fields

variables is accepted for compatibility but not applied - the approval step does not collect variable values. Send any values you need through the workflow’s own steps instead.

Request Example

Response

Success Response

Status Code: 200 OK

Response Fields

Error Responses

400 Bad Request

Returned when the access token’s user is not an eligible approver on the step, or when the token has no user behind it. client_credentials tokens act as the admin who created the application, so this applies only to tokens issued before application creators were recorded.

401 Unauthorized

Returned when the access token is missing, unknown, revoked, or expired, or when an X-API-Key was sent instead of a bearer token. See OAuth error responses.

403 Forbidden

Returned when the token lacks the required scope:
Or when the user may not act on this task:

404 Not Found

Returned when the task does not exist.

409 Conflict

Returned when the task is not at an approval step or has already been approved or rejected.

422 Validation Error

Returned when the request body is invalid.

429 Too Many Requests

Returned when your organization exceeds its per-minute request limit.

500 Internal Server Error

Returned when submission fails due to a server error.

Notes

When a task is approved, the workflow continues to the next step. When rejected, the workflow typically ends or follows a rejection path defined in the workflow.
Call Get Approval Details first. It returns the eligible approver emails, so you can confirm the token’s user is among them before submitting.
Use the comment field to document the reasoning behind approval or rejection decisions for audit and compliance purposes.

Use Cases

This endpoint is useful for:
  • Custom approval UIs - Let approvers decide from your own interface, recorded as themselves
  • Chat and email integrations - Approve from Slack, Teams, or a mobile app
  • Auditable decisions - Guarantee the approver on record is the real person who decided