---
title: "List service accounts"
method: GET
path: "/api/{org_id}/service_accounts"
tags: ["ServiceAccounts"]
---

# List service accounts

`GET /api/{org_id}/service_accounts`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/service_accounts`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/service_accounts/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieves a list of all service accounts in the organization. Service accounts are special user accounts designed for automated systems and applications to authenticate and access resources without human intervention. Each service account has an associated API token for programmatic access.

## Path parameters

- `org_id` string, required

## Response `200`

Success

- UserList
  - `data` UserResponse[], required
    - `created_at` integer, required
    - `description` string, nullable: Human-readable description of what this account is used for.
    - `email` string, required
    - `first_name` string
    - `is_external` boolean
    - `is_system` boolean: True when this account is a system-managed service account. The UI should display "System Managed" for the role instead of the raw role string.
    - `last_name` string
    - `orgs` OrgRoleMapping[], nullable
      - `org_id` string, required
      - `org_name` string, required
      - `role` 'root' | 'admin' | 'editor' | 'viewer' | 'user' | 'service_account' | 'sre_agent', required
    - `role` string, required
    - `token` string, nullable

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
