---
id: pat-read
title: Read a personal access token
description: Reads one of your personal access tokens by ID.
sidebar_label: Read a personal access token
hide_title: true
hide_table_of_contents: true
api: >-
  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
sidebar_class_name: get api-method
info_path: docs/api/authorization
custom_edit_url: null
canonical: 'https://docs.nullplatform.com/docs/api/pat-read'
---
<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Read a personal access token"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/pat/{id}"}
  context={"endpoint"}
>

</MethodEndpoint>

Reads one of your personal access tokens by ID.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={[{"name":"id","in":"path","description":"The unique identifier for the personal access token.\n","required":true,"schema":{"type":"integer"},"example":1234}]}
>

</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={undefined}
>

</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The operation was successful.","content":{"application/json":{"schema":{"type":"object","required":["id","name","access","tags","grants","expires_at","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"Unique ID for the token.","example":1234},"name":{"type":"string","description":"The descriptive name given to the token.","example":"local-scripts"},"masked_api_key":{"type":"string","description":"The token, masked.","example":"AAAAxxxxxPTs="},"access":{"type":"string","enum":["grants","same_as_user"],"description":"Whether the token follows your access (`same_as_user`) or holds its own grants (`grants`).","example":"same_as_user"},"tags":{"type":"array","description":"Tags associated with the token. Empty when it has none.","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","description":"Tag key.","example":"team"},"value":{"type":"string","description":"Tag value.","example":"platform"}}}},"grants":{"type":"array","description":"What the token can do. For a `same_as_user` token, these are your own grants in the organization at the moment of the request. A token that no longer works, because it expired or your user is inactive, reports none.\n","items":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the grant.","example":5678},"nrn":{"type":"string","description":"The NRN of the resource the grant applies to.","example":"organization=1:account=2"},"role_id":{"type":"integer","description":"The ID of the role granted.","example":700317756},"role_slug":{"type":"string","description":"The slug of the role granted.","example":"developer"},"actions":{"type":"array","description":"The action names the grant resolves to, present when it was created from `actions` or `inherits`.","items":{"type":"string"},"example":["application:read","deployment:create"]}}}},"personal":{"type":"boolean","description":"Always `true` for a personal access token.","example":true},"owner_id":{"type":"integer","description":"The ID of the user who created the token.","example":42},"acting_user_id":{"type":"integer","description":"The ID of the user the token acts as: you.","example":42},"last_used_at":{"type":"string","format":"date-time","nullable":true,"description":"The ISO-8601 UTC timestamp of when the token was last exchanged for an access token.","example":"2026-10-08T12:00:00.000Z"},"expires_at":{"type":"string","format":"date-time","description":"The ISO-8601 UTC timestamp of when the token stops working.","example":"2027-01-06T00:00:00.000Z"},"expired":{"type":"boolean","description":"Whether the token has expired.","example":false},"created_at":{"type":"string","format":"date-time","description":"The ISO-8601 UTC timestamp of when the token was created.","example":"2026-10-08T00:00:00.000Z"},"updated_at":{"type":"string","format":"date-time","description":"The ISO-8601 UTC timestamp of when the token was last updated.","example":"2026-10-08T00:00:00.000Z"}},"title":"patResponse"}}}},"4XX":{"description":"Client error responses due to invalid input or missing parameters.","content":{"application/json":{"schema":{"type":"object","required":["statusCode","error","message"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code representing the specific client error (e.g., 400, 401, 403, 404).","example":400},"code":{"type":"string","description":"A machine-readable error code that categorizes the server failure.","example":"bad_request"},"error":{"type":"string","description":"A brief, human-readable description of the error type (e.g., \"Bad Request\", \"Unauthorized\").","example":"Bad Request"},"message":{"type":"string","description":"Additional details about the error.","example":"The request was malformed or contained invalid parameters."}}}}}},"5XX":{"description":"Server error responses indicating an issue on the API side.","content":{"application/json":{"schema":{"type":"object","required":["statusCode","error","message"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code representing the specific server error (e.g., 500, 502, 503).","example":500},"code":{"type":"string","description":"A machine-readable error code that categorizes the server failure.","example":"internal_server_error"},"error":{"type":"string","description":"A brief, human-readable description of the error type (e.g., \"Internal Server Error\", \"Service Unavailable\").","example":"Internal Server Error"},"message":{"type":"string","description":"Additional details about the error.","example":"An unexpected error occurred. Please try again later."}}}}}}}}
>

</StatusCodes>

