---
title: "Update an application status"
method: PATCH
path: "/api/v1/applications/{id}"
---

# Update an application status

`PATCH /api/v1/applications/{id}`

## Request

- Base URL: `https://applytovolunteer.com`
- URL: `https://applytovolunteer.com/api/v1/applications/{id}`
- Auth: HTTP bearer

Update application status (FCRA-gated decline). Requires a browser session or an org API key with applications:write. A missing or wrong key is 404, not 401. Declining requires declineReason background_check, not_a_fit, or incomplete.

## Path parameters

- `id` string, required: Application id.

## Request body

- object: At least one of status, notes, or declineReason. The handler rejects a body that is not this object.
  - `status` 'new' | 'in_review' | 'advanced' | 'accepted' | 'declined' | 'withdrawn' | 'on_hold': Next application status. Omitted status keeps the current one.
  - `notes` string: Reviewer notes. Omitted notes keep the current notes.
  - `declineReason` string: Required when status is declined. The handler accepts only background_check, not_a_fit, incomplete. Any other value is 400, or 409 when the reason is usable but the background-check gate blocks the decline.

## Response `200`

Update application status (FCRA-gated decline)

## Other responses

- `400`: The body, query, or input failed validation.
- `404`: The resource does not exist, or it is hidden from this caller. Several organization routes return 404 instead of 401 when the key is missing or the row is in another organization.
- `409`: The write conflicts with the current state.

---

[API](https://skmtc.dev/applytovolunteer/apis/apply2volunteer-api.md) · [All operations](https://skmtc.dev/applytovolunteer/apis/apply2volunteer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/applytovolunteer/apis/apply2volunteer-api/revisions/23df1ec8c88d?raw)
