---
title: "Approve or reject a task"
method: PUT
path: "/workflow-runs/{workflowRunId}/approvals"
tags: ["Tasks"]
---

# Approve or reject a task

`PUT /workflow-runs/{workflowRunId}/approvals`

The <code>approvalTaskId</code> is the ID of the approval task and the <code>subjectTaskId</code> is the
ID of the task being approved or rejected. If you don't include a subject task, all pending subject tasks
of the approval task will be approved or rejected.<br>
<br>
A PUT request replaces all values, so all fields must be supplied in each request.
To not have a comment, you may send a null value or omit the field. See the examples for more.

## Path parameters

- `workflowRunId` string, required

## Request body

- UpsertApprovalRequest
  - `approvalTaskId` string, required
  - `subjectTaskId` string
  - `status` 'Approved' | 'Rejected', required — Outcome of an approval task review. - `Approved` — the reviewer accepted the subject task(s). - `Rejected` — the reviewer rejected; subject tasks return to the assignee for rework.
  - `comment` string

## Response `204`

## Other responses

- `400` — Invalid value for: body
- `default`

---

[API](https://skmtc.net/process/apis/process-street-public-api.md) · [All operations](https://skmtc.net/process/apis/process-street-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/process/process-street-public-api/revisions/6199a9464227/schema)
