---
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":"The request couldn't be processed. For example, a parameter is invalid, the resource doesn't exist, or you don't have permission. The body is a problem details object (RFC 9457).","content":{"application/problem+json":{"schema":{"type":"object","description":"Describes what went wrong, following the RFC 9457 problem details format.","required":["type","title","status"],"properties":{"type":{"type":"string","description":"A URI that identifies the kind of problem. It's an identifier, not a link, and it's the same every time this problem occurs.","example":"urn:nullplatform:error:routes-helper:invalid-params"},"title":{"type":"string","description":"A short, human-readable summary of the problem.","example":"There are invalid parameters on the request"},"status":{"type":"integer","description":"The HTTP status code of the response.","example":400},"code":{"type":"string","description":"A stable, machine-readable error code. Use it to handle specific errors in your integrations.","example":"ROUTES_HELPER.INVALID_PARAMS"},"detail":{"type":"string","nullable":true,"description":"More information about what went wrong in this request, when available.","example":null},"errors":{"type":"array","description":"One entry per invalid field or parameter. Only present on validation errors.","items":{"type":"object","properties":{"field":{"type":"string","description":"The name of the invalid field or parameter.","example":"application_id"},"in":{"type":"string","description":"Where the field was sent: `body`, `query`, or `params` (path parameters).","example":"query"},"issue":{"type":"string","description":"What's wrong with the field, such as `required` or `invalid`.","example":"invalid"},"value":{"description":"The value that was sent, when relevant.","example":"not-a-number"},"message":{"type":"string","description":"A human-readable explanation of the issue."}}}},"message":{"type":"string","deprecated":true,"description":"Same value as `title`, kept for backward compatibility. Use `title` or `code` instead.","example":"There are invalid parameters on the request"},"traceId":{"type":"string","description":"An identifier for this request, when available. Include it when you contact nullplatform support."}}}}}},"5XX":{"description":"Something went wrong on nullplatform's side. The body is a problem details object (RFC 9457).","content":{"application/problem+json":{"schema":{"type":"object","description":"Describes what went wrong, following the RFC 9457 problem details format.","required":["type","title","status"],"properties":{"type":{"type":"string","description":"A URI that identifies the kind of problem. It's an identifier, not a link, and it's the same every time this problem occurs.","example":"about:blank"},"title":{"type":"string","description":"A short, human-readable summary of the problem.","example":"Oops.. there was an internal error"},"status":{"type":"integer","description":"The HTTP status code of the response.","example":500},"code":{"type":"string","description":"A stable, machine-readable error code. Use it to handle specific errors in your integrations."},"detail":{"type":"string","nullable":true,"description":"More information about what went wrong in this request, when available.","example":null},"message":{"type":"string","deprecated":true,"description":"Same value as `title`, kept for backward compatibility. Use `title` or `code` instead.","example":"Oops.. there was an internal error"},"traceId":{"type":"string","description":"An identifier for this request, when available. Include it when you contact nullplatform support."}}}}}}}}
>

</StatusCodes>

