---
title: "Get service account tokens"
method: GET
path: "/serviceaccounts/{serviceAccountId}/tokens"
tags: ["service_accounts"]
---

# Get service account tokens

`GET /serviceaccounts/{serviceAccountId}/tokens`

## Request

- Base URL: `/api` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/serviceaccounts/{serviceAccountId}/tokens`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`

Required permissions (See note in the [introduction](https://grafana.com/docs/grafana/latest/developers/http_api/serviceaccount/#service-account-api) for an explanation):
action: `serviceaccounts:read` scope: `global:serviceaccounts:id:1` (single service account)

Requires basic authentication and that the authenticated user is a Grafana Admin.

## Path parameters

- `serviceAccountId` integer, required

## Response `200`

(empty)

- TokenDTO
  - `created` string, date-time
  - `expiration` string, date-time
  - `hasExpired` boolean
  - `id` integer
  - `isRevoked` boolean
  - `lastUsedAt` string, date-time
  - `name` string
  - `secondsUntilExpiration` number, double

## Other responses

- `400`: BadRequestError is returned when the request is invalid and it cannot be processed.
- `401`: UnauthorizedError is returned when the request is not authenticated.
- `403`: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
- `500`: InternalServerError is a general error indicating something went wrong internally.

---

[API](https://skmtc.dev/nforgeio/apis/grafana-http-api.md) - [All operations](https://skmtc.dev/nforgeio/apis/grafana-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nforgeio/apis/grafana-http-api/revisions/3cb6c3f42dc7?raw)
