---
title: "Changes to Token introspection endpoint"
method: POST
path: "/oauth/2026-03/token/introspect"
---

# Changes to Token introspection endpoint

`POST /oauth/2026-03/token/introspect`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 6 of 52 revisions.

- **2026-06-15** (2026-03) `03dfd4737244`: 2 breaking, 1 warning, 1 info
- **2026-06-15** (2026-03) `33cdb28eb03d`: 1 breaking, 3 info
- **2026-06-05** (2026-03) `03dfd4737244`: 2 info
- **2026-06-05** (2026-03) `539db6253ecc`: 2 info
- **2026-05-22** (2026-03) `67126e6d75d4`: 21 info
- **2026-05-20** (2026-03) `ea1835acfb07`: 2 breaking, 27 info

## Changes

- **2026-06-15** (2026-03) `03dfd4737244`: 2 breaking, 1 warning, 1 info
  - added `#/components/schemas/PublicAccessTokenInfoResponse, #/components/schemas/PublicRefreshTokenInfoResponse` to the response body `oneOf` list for the response status `200`
  - the response's body type changed from `object` to no type for status `200`
  - removed the optional property `active` from the response with the `200` status
  - removed response discriminator for the response status `200`
- **2026-06-15** (2026-03) `33cdb28eb03d`: 1 breaking, 3 info
  - the response's body type changed from no type to `object` for status `200`
  - added response discriminator for the response status `200`
  - removed `#/components/schemas/PublicAccessTokenInfoResponse, #/components/schemas/PublicRefreshTokenInfoResponse` from the response body `oneOf` list for the response status `200`
  - added the optional property `active` to the response with the `200` status
- **2026-06-05** (2026-03) `03dfd4737244`: 2 info
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/signed_access_token/appInstallId` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/signed_access_token/audience` became required for the status `200`
- **2026-06-05** (2026-03) `539db6253ecc`: 2 info
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/signed_access_token/appInstallId` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/signed_access_token/audience` to the response with the `200` status
- **2026-05-22** (2026-03) `67126e6d75d4`: 21 info
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/active` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/app_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/client_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/expires_in` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/hub_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/is_private_distribution` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/scopes` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/signed_access_token` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/token` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/token_type` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/token_use` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/user_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/active` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/app_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/client_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/hub_id` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/scopes` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/token` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/token_type` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/token_use` became required for the status `200`
  - the response property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/user_id` became required for the status `200`
- **2026-05-20** (2026-03) `ea1835acfb07`: 2 breaking, 27 info
  - the `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/` response's property type changed from no type to `object` for status `200`
  - the `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/` response's property type changed from no type to `object` for status `200`
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/active` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/app_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/client_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/expires_in` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/hub_domain` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/hub_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/is_private_distribution` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/scopes` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/signed_access_token` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/token` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/token_type` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/token_use` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/user` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/user_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/active` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/app_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/client_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/hub_domain` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/hub_id` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/scopes` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/token` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/token_type` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/token_use` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/user` to the response with the `200` status
  - added the optional property `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/user_id` to the response with the `200` status
  - removed `#/components/schemas/TokenInfoResponseBaseIF, subschema #2` from the `oneOf[#/components/schemas/PublicAccessTokenInfoResponse]/` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/TokenInfoResponseBaseIF, subschema #2` from the `oneOf[#/components/schemas/PublicRefreshTokenInfoResponse]/` response property `allOf` list for the response status `200`

---

[Operation](https://skmtc.dev/hubspot/apis/auth-oauth/docs/oauth/2026-03/token/introspect/post.md) - [API](https://skmtc.dev/hubspot/apis/auth-oauth.md) - [Page](https://skmtc.dev/hubspot/apis/auth-oauth/changes/oauth/2026-03/token/introspect/post)
