---
title: "Revoke a M2M Token"
method: POST
path: "/m2m_tokens/{m2m_token_id}/revoke"
tags: ["M2M Tokens"]
---

# Revoke a M2M Token

`POST /m2m_tokens/{m2m_token_id}/revoke`

Revokes a M2M Token.

This endpoint only revokes stored opaque-format M2M tokens. JWT-format M2M tokens are stateless and cannot be revoked.

This endpoint can be authenticated by either a Machine Secret Key or by a Clerk Secret Key.

- When revoking a M2M Token with a Machine Secret Key, the token must managed by the Machine associated with the Machine Secret Key.
- When revoking a M2M Token with a Clerk Secret Key, any token on the Instance can be revoked.

## Path parameters

- `m2m_token_id` string, required

## Request body

- object
  - `revocation_reason` string, nullable

## Response `200`

200 OK

- object
  - `object` 'machine_to_machine_token', required
  - `id` string, required
  - `subject` string, required
  - `claims` unknown
  - `scopes` string[]
  - `revoked` boolean, required
  - `revocation_reason` string, nullable, required
  - `expired` boolean, required
  - `expiration` number, nullable, required — The timestamp for when the token will expire, in milliseconds
  - `last_used_at` number, nullable, required — The timestamp for when the token was last used, in milliseconds
  - `created_at` number, required — The timestamp for when the token was created, in milliseconds
  - `updated_at` number, required — The timestamp for when the token was last updated, in milliseconds

## Other responses

- `400` — 400 Bad Request
- `404` — 404 Not Found

---

[API](https://skmtc.net/clerk/apis/clerk-backend-api.md) · [All operations](https://skmtc.net/clerk/apis/clerk-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clerk/clerk-backend-api/revisions/cf036e7951d3/schema)
