Endpoints
| Method | Path | Purpose |
|---|---|---|
POST | /service-accounts | Create service account |
GET | /service-accounts | List service accounts |
GET | /service-accounts/:id | Get service account |
POST | /service-accounts/:id/rotate-secret | Rotate secret |
DELETE | /service-accounts/:id | Delete service account |
id path params are service account UUIDs (not the OAuth clientId).
Create service account
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
description | string | No | Human-readable description |
Response
The response includes acredentials object with clientId and clientSecret. The secret is only returned on create and rotate — store it immediately.
Response shape: { "serviceAccount": { ... }, "credentials": { ... } }
Use these credentials with the Management SDK:
List service accounts
Get service account
Rotate secret
clientSecret and invalidates the previous one immediately. Any active tokens issued with the old secret continue to work until they expire, but no new tokens can be obtained with the old secret.
Store the new secret — it will not be shown again.