Introspect Tool Token

POST
/v1/tool-tokens/introspect

Not available yet. This operation is part of the published contract and answers 501 not_implemented until it is built. The request and response shapes below are final for this contract version.

RFC 7662 for delegated tool tokens: a tool asks before a write whether the token is still active. Called with the tool's own credential.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Bearer credential. API keys look like sqk_<geo>_<key_id>_<secret>: treat them as opaque and never put one in a browser. Older keys without the geo part stay valid until rotated. Find a geo's endpoints through GET /.well-known/sparq-discovery before sending a key.

Header Parameters

Sparq-Workspace?string

For a person signed in to a console with several workspaces: the workspace this call is for, one of their memberships (listMyMemberships). Without it such a person gets workspace_required (400); a workspace they are not a member of is forbidden. It never grants anything, and other callers' credentials ignore it.

Formatuuid
Idempotency-Key?string

Makes a retry safe: the same key, route and body within 24 hours returns the stored response and the same result id. The same key with a different body or route is idempotency_conflict; while the first request runs, idempotency_in_progress.

Length8 <= length <= 128

Request Body

application/json
  1. body

Body of POST /v1/tool-tokens/introspect (RFC 7662, D-28): a tool asks before a write whether the delegated token it received is still good.

token*Token
Length20 <= length <= 8000

Response Body

Successful Response

application/json
  1. response

Whether a delegated tool token is active now. An inactive token carries nothing else.

active*Active
scope?string|null
exp?|

Expiry, in Unix seconds.

invocation_id?|

The one tool invocation the token was minted for.

audience_tenant_id?|null
Example Request
curl -X POST 'http://dev-sparq.centralindia.cloudapp.azure.com:8000/v1/tool-tokens/introspect' \  -H 'Content-Type: application/json' \  -d '{  "token": "stringstringstringst"}'
Example Response
{  "active": true,  "scope": "string",  "exp": 0,  "invocation_id": "9efe53a2-0f4e-415e-a218-b405e1367798",  "audience_tenant_id": "0287c3f7-886a-49f4-a73e-03577e798c26"}