---
title: "Introspect Token"
method: POST
path: "/idp/token/introspect"
tags: ["Identity Provider"]
---

# Introspect Token

`POST /idp/token/introspect`

## Request

- Base URL: `https://api.chutes.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.chutes.ai/idp/token/introspect`
- Auth: none declared

OAuth2 Token Introspection Endpoint (RFC 7662).

Token format includes embedded token_id for O(1) lookup, so client auth is optional.

Allows clients to check if a token is still valid and get metadata about it.
Useful for determining if a user needs to re-authenticate.

Returns:
    - active: Whether the token is currently valid
    - exp: Expiration timestamp (Unix epoch)
    - iat: Issued at timestamp
    - scope: Space-separated list of scopes
    - client_id: The client that the token was issued to
    - username: The user's username
    - sub: The user's ID

## Request body `application/x-www-form-urlencoded`

- BodyIntrospectTokenIdpTokenIntrospectPost
  - `token` string, required
  - `token_type_hint` string, nullable
  - `client_id` string, nullable
  - `client_secret` string, nullable

## Response `200`

Successful Response

- string

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-16** `23e8895b217d`: 1 breaking, 2 info
  - the response's body type changed from no type to `string` for status `200`
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-08-26** `8d909638091e`: 1 info
  - endpoint added
- **2026-08-22** `05d9af05d87e`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/chutes/apis/chutes-api/changes/idp/token/introspect/post.md)

---

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