---
title: "Cancel S3 Grant"
method: POST
path: "/api/v1/admin/ledger/s3-grants/{grant_id}/cancel"
tags: ["Admin APIs", "ledger"]
---

# Cancel S3 Grant

`POST /api/v1/admin/ledger/s3-grants/{grant_id}/cancel`

## Request

- Base URL: `https://carbonarc.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://carbonarc.ai/api/v1/admin/ledger/s3-grants/{grant_id}/cancel`
- Auth: OAuth 2 (authorization code, authorization URL `authorize`, token URL `token`)

Cancel an S3 token award — stops future vesting, keeps what already vested.

Idempotent: cancelling an already-cancelled award reports the existing state rather
than erroring, so a double-confirmed dialog is harmless.

## Path parameters

- `grant_id` string, required

## Request body

- CancelS3GrantRequest: Cancel an S3 token award. Stops future vesting; already-vested tokens remain.
  - `reason` string, required

## Response `200`

Successful Response

- CancelS3GrantResponse
  - `grant_id` string, required
  - `status` string, required
  - `cancelled_vestings` integer, required
  - `already_cancelled` boolean, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-08-21** `a8ca30023371`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/carbonarc/apis/carbon-arc-client-admin-api/changes/api/v1/admin/ledger/s3-grants/:grant_id/cancel/post.md)

---

[API](https://skmtc.dev/carbonarc/apis/carbon-arc-client-admin-api.md) · [All operations](https://skmtc.dev/carbonarc/apis/carbon-arc-client-admin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/carbonarc/apis/carbon-arc-client-admin-api/revisions/56e2edae9dfe?raw)
