---
title: "Create Service Account"
method: POST
path: "/service-accounts"
tags: ["service-accounts"]
---

# Create Service Account

`POST /service-accounts`

## Request

- Base URL: `https://api.traversal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.traversal.com/service-accounts`
- Auth: none declared

## Request body

- CreateServiceAccountRequest
  - `name` string, required
  - `description` string, nullable
  - `role` union, required
    - 'platform_admin': Platform-level roles for Traversal employees. These roles have no organization_id and apply across all organizations. Only grant to Traversal internal employees (@traversal.com). Attributes: ADMIN: Full access to all organizations and platform settings. Can view/edit all data, manage users, configure integrations.
    - 'org_admin' | 'org_member' | 'org_setup_user': Organization-level roles for customer users. These roles require an organization_id and only apply within that organization. Users can have different roles in different organizations. Attributes: ADMIN: Full access within the organization. Can manage users, configure integrations, view/edit all sessions, manage billing. MEMBER: Standard user access within the organization. Can create and view their own sessions, view team sessions, use integrations. SETUP_USER: Limited setup access. Can configure integrations, but cannot view sessions or start investigations.

## Response `200`

Successful Response

- ServiceAccount: Public service-account resource. ``principal_id`` is internal and omitted.
  - `id` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `role` 'org_admin' | 'org_member' | 'org_setup_user', required: Organization-level roles for customer users. These roles require an organization_id and only apply within that organization. Users can have different roles in different organizations. Attributes: ADMIN: Full access within the organization. Can manage users, configure integrations, view/edit all sessions, manage billing. MEMBER: Standard user access within the organization. Can create and view their own sessions, view team sessions, use integrations. SETUP_USER: Limited setup access. Can configure integrations, but cannot view sessions or start investigations.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `disabled_at` string, date-time, nullable, required
  - `is_default` boolean, required
  - `archived_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

## Changes

> 66 revisions in range; 9 not diffed.

- **2026-09-24** `6a1626105afb`: 1 info
  - added the required property `is_default` to the response with the `200` status
- **2026-09-09** `50f9ba1b135c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/traversal/apis/traversal-api/changes/service-accounts/post.md)

---

[API](https://skmtc.dev/traversal/apis/traversal-api.md) - [All operations](https://skmtc.dev/traversal/apis/traversal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/traversal/apis/traversal-api/revisions/31e1a8b7cf89?raw)
