Authorization Tokens

Get Authorization Token

Retrieve an Authorization Token with the given ID. The token's code is never returned — only the metadata is returned.

get/v1/authorization_tokens/{id}

Path parameters

idstring required

The unique id of the Authorization Token

Response

OK

idstring required

The unique identifier for this object.

donor_account_idstring required

The ID of the Donor Account this token is bound to.

status'pending' | 'verified' | 'revoked' | 'expired' required

The status of a Donor Authorization Token.

  • pending: The token has been issued but not yet verified.
  • verified: The token has been verified and can no longer be used.
  • revoked: The token was explicitly revoked before being verified.
  • expired: The token's expires_at has passed and it can no longer be verified.
codestring

The token's secret code value.

<Warning> The `code` is **only returned in the response of [Create Authorization Token](/api/authorization-tokens/create)**. It is omitted from all other responses (Get, List). If the code is lost, [revoke](/api/authorization-tokens/revoke) the token and create a new one. </Warning>

The format is a 12-character alphanumeric string designed to be easy for donors to read aloud or copy. Codes are not case-sensitive when verified.

created_atstring date-time required

Time when the token was issued. Expressed in RFC 3339 format.

expires_atstring date-time required

Time at which this token will expire and can no longer be verified. Defaults to 30 days after creation; configurable via the expires_in parameter on Create Authorization Token.

verified_atstring date-time

Time at which the token was verified. Only set when status is verified.

revoked_atstring date-time

Time at which the token was revoked. Only set when status is revoked.

metadataobject

A map of arbitrary string keys and values to store information about the object.

Example response

{
  "id": "auth_token_01jpjenf5q6cawy43yxfcrxhct",
  "donor_account_id": "donor_account_01jpjenf5q6cawy43yxfcrxhct",
  "status": "pending",
  "code": "DAFP-7K3X-9M4Q",
  "created_at": "2026-04-01T12:00:00Z",
  "expires_at": "2026-05-01T12:00:00Z",
  "verified_at": "2026-04-02T18:30:00Z",
  "revoked_at": "2026-04-02T18:30:00Z"
}

Changes

Changed in 4 of the 41 revisions of this API.23433

  • 90671617b8252025See the full diff
    • removed the required property code from the response with the 400 status

      response-required-property-removed

    • removed the required property code from the response with the 401 status

      response-required-property-removed

    • removed the required property code from the response with the 403 status

      response-required-property-removed

    • removed the required property code from the response with the 404 status

      response-required-property-removed

    • removed the required property code from the response with the 500 status

      response-required-property-removed

    • removed the required property error from the response with the 400 status

      response-required-property-removed

    • removed the required property error from the response with the 401 status

      response-required-property-removed

    • removed the required property error from the response with the 403 status

      response-required-property-removed

    • removed the required property error from the response with the 404 status

      response-required-property-removed

    • removed the required property error from the response with the 500 status

      response-required-property-removed

    • removed the required property message from the response with the 400 status

      response-required-property-removed

    • removed the required property message from the response with the 401 status

      response-required-property-removed

    • removed the required property message from the response with the 403 status

      response-required-property-removed

    • removed the required property message from the response with the 404 status

      response-required-property-removed

    • removed the required property message from the response with the 500 status

      response-required-property-removed

    • removed the required property timestamp from the response with the 400 status

      response-required-property-removed

    • removed the required property timestamp from the response with the 401 status

      response-required-property-removed

    • removed the required property timestamp from the response with the 403 status

      response-required-property-removed

    • removed the required property timestamp from the response with the 404 status

      response-required-property-removed

    • removed the required property timestamp from the response with the 500 status

      response-required-property-removed

    • media type application/json was changed to a more specific media type application/problem+json for the response status 400

      response-media-type-name-specialized

    • media type application/json was changed to a more specific media type application/problem+json for the response status 401

      response-media-type-name-specialized

    • media type application/json was changed to a more specific media type application/problem+json for the response status 403

      response-media-type-name-specialized

    • media type application/json was changed to a more specific media type application/problem+json for the response status 404

      response-media-type-name-specialized

    • media type application/json was changed to a more specific media type application/problem+json for the response status 500

      response-media-type-name-specialized

    • added the required property detail to the response with the 400 status

      response-required-property-added

    • added the required property detail to the response with the 401 status

      response-required-property-added

    • added the required property detail to the response with the 403 status

      response-required-property-added

    • added the required property detail to the response with the 404 status

      response-required-property-added

    • added the required property detail to the response with the 500 status

      response-required-property-added

    • added the required property status to the response with the 400 status

      response-required-property-added

    • added the required property status to the response with the 401 status

      response-required-property-added

    • added the required property status to the response with the 403 status

      response-required-property-added

    • added the required property status to the response with the 404 status

      response-required-property-added

    • added the required property status to the response with the 500 status

      response-required-property-added

    • added the required property title to the response with the 400 status

      response-required-property-added

    • added the required property title to the response with the 401 status

      response-required-property-added

    • added the required property title to the response with the 403 status

      response-required-property-added

    • added the required property title to the response with the 404 status

      response-required-property-added

    • added the required property title to the response with the 500 status

      response-required-property-added

    • added the required property type to the response with the 400 status

      response-required-property-added

    • added the required property type to the response with the 401 status

      response-required-property-added

    • added the required property type to the response with the 403 status

      response-required-property-added

    • added the required property type to the response with the 404 status

      response-required-property-added

    • added the required property type to the response with the 500 status

      response-required-property-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 4f143792edeb22See the full diff
    • removed the optional property consumed_at from the response with the 200 status

      response-optional-property-removed

    • added the new verified enum value to the status response property for the response status 200

      response-property-enum-value-added

    • added the optional property verified_at to the response with the 200 status

      response-optional-property-added

    • removed the consumed enum value from the status response property for the response status 200

      response-property-enum-value-removed

  • 660117ded011325See the full diff
    • removed the required property createdAt from the response with the 200 status

      response-required-property-removed

    • removed the required property donorAccountId from the response with the 200 status

      response-required-property-removed

    • removed the required property expiresAt from the response with the 200 status

      response-required-property-removed

    • removed the optional property consumedAt from the response with the 200 status

      response-optional-property-removed

    • removed the optional property revokedAt from the response with the 200 status

      response-optional-property-removed

    • added the optional property consumed_at to the response with the 200 status

      response-optional-property-added

    • added the optional property revoked_at to the response with the 200 status

      response-optional-property-added

    • added the required property created_at to the response with the 200 status

      response-required-property-added

    • added the required property donor_account_id to the response with the 200 status

      response-required-property-added

    • added the required property expires_at to the response with the 200 status

      response-required-property-added

    • endpoint added

      endpoint-added