---
title: "Mark an access revocation as rejected"
method: POST
path: "/api/v1/access_revocations/{access_revocation_id}/reject"
tags: ["access_revocations"]
---

# Mark an access revocation as rejected

`POST /api/v1/access_revocations/{access_revocation_id}/reject`

## Request

- Base URL: `https://app.accessowl.io`
- URL: `https://app.accessowl.io/api/v1/access_revocations/{access_revocation_id}/reject`
- Auth: HTTP bearer

Marks a (pending) access revocation as rejected with a required reason, recording the caller as the provisioner. Terminal: an already-revoked or already-rejected revocation returns a validation error.

## Path parameters

- `access_revocation_id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- RejectAccessRevocation: Request body for rejecting an access revocation
  - `reason` string, required: Reason for rejecting the revocation

## Response `200`

Access revocation rejected

- AccessRevocation: An access revocation
  - `application_id` string, uuid, required: Application ID
  - `grantee_user_id` string, uuid: User ID of the grantee
  - `id` string, uuid, required: Access revocation ID
  - `inserted_at` string, date-time: Creation timestamp
  - `permission_ids` string[], nullable: Permission IDs being revoked
  - `provisioning_type` 'application_admin' | 'automatic', nullable: Provisioning type
  - `reason` string, required: Revocation reason
  - `requestor_user_id` string, uuid: User ID of the requestor
  - `resource_id` string, uuid, nullable: Resource ID (null for app-wide revocations)
  - `status` 'processing_access' | 'rejected' | 'revoked', required: Current status of the revocation
  - `termination_reason` string, nullable: The provisioner's rejection reason when the revocation was rejected; null otherwise

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `422`: Validation error
- `429`: Too many requests

## Changes

- **2026-10-31** `5a1f071e40d8`: 2 breaking, 4 warning, 3 info
  - response property `errors/additionalProperties/items/` list-of-types was widened by adding types `object` to media type `application/json` of response `422`
  - removed the required property `message` from the response with the `401` status
  - removed the optional property `errors` from the response with the `401` status
  - removed the optional property `errors` from the response with the `403` status
  - …5 more
- **2026-09-22** `1dba1160cea4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/accessowl/apis/accessowl-api/changes/api/v1/access_revocations/:access_revocation_id/reject/post.md)

---

[API](https://skmtc.dev/accessowl/apis/accessowl-api.md) - [All operations](https://skmtc.dev/accessowl/apis/accessowl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/accessowl/apis/accessowl-api/revisions/ff38c63d8807?raw)
