---
title: "Returns a list of service accounts in the project."
method: GET
path: "/organization/projects/{project_id}/service_accounts"
tags: ["Projects"]
---

# Returns a list of service accounts in the project.

`GET /organization/projects/{project_id}/service_accounts`

## Path parameters

- `project_id` string, required

## Query parameters

- `limit` integer
- `after` string

## Response `200`

Project service accounts listed successfully.

- ProjectServiceAccountListResponse
  - `object` 'list', required
  - `data` ProjectServiceAccount[], required
    - `object` 'organization.project.service_account', required — The object type, which is always `organization.project.service_account`
    - `id` string, required — The identifier, which can be referenced in API endpoints
    - `name` string, required — The name of the service account
    - `role` 'owner' | 'member' | 'none', required — `owner`, `member`, or `none`
    - `created_at` integer, required — The Unix timestamp (in seconds) of when the service account was created
  - `first_id` string, nullable
  - `last_id` string, nullable
  - `has_more` boolean, required

## Other responses

- `400` — Error response when project is archived.

## Changes

- **2026-09-08** `bb9b3b410112` — 1 info
  - added the optional property `error/misalignment` to the response with the `400` status
- **2026-07-15** `4065aec90c5d` — 1 warning
  - added the new `none` enum value to the `data/items/role` response property for the response status `200`
- **2026-05-13** `74cbcf73838f` — 6 breaking, 1 info
  - the response property `first_id` became optional for the status `200`
  - the response property `last_id` became optional for the status `200`
  - response property `error/code` list-of-types was widened by adding types `null` to media type `application/json` of response `400`
  - response property `error/param` list-of-types was widened by adding types `null` to media type `application/json` of response `400`
  - …3 more
- **2024-08-23** `5856f8b0c850` — 3 breaking, 7 info
  - the response property `error/code` became nullable for the status `400`
  - the response property `error/param` became nullable for the status `400`
  - the `data/items/created_at` response's property format changed from `unixtime` to no format for status `200`
  - the endpoint scheme security `AdminApiKeyAuth` was removed from the API
  - …6 more

[Change history](https://skmtc.dev/openai/apis/openapi/changes/organization/projects/:project_id/service_accounts/get.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc.dev/openai/apis/openapi/revisions/bb9b3b410112?raw)
