---
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`

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

---

[API](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api.md) · [All operations](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carbonarc/carbon-arc-client-admin-api/revisions/a8ca30023371/schema)
