Skip to content
StraventaDocs
Now in Sandbox.

List service accounts

Returns a paginated list of service accounts in the caller's tenant. Supports free-text search on name plus an optional status filter.

GET
/v1/admin/service-accounts

Returns a paginated list of service accounts in the caller's tenant. Supports free-text search on name plus an optional status filter.

Authorization

bearerAuth
AuthorizationBearer <token>

JWT Bearer access token. Clock skew tolerance is ±60 seconds.

In: header

Query Parameters

page?integer
Default1
Range1 <= value
limit?integer
Default20
Range1 <= value <= 100
search?string
status?string

Optional filter by service-account status. Omit for all service accounts.

Value in"active" | "suspended"
sort?string

Column to order service accounts by. Defaults to created_at descending. allowed_services and the API-key counts are not sortable and return 400 invalid_sort_key.

Value in"name" | "status" | "created_at"
order?string

Sort direction. Ignored unless sort is supplied; an unrecognised value returns 400 invalid_sort_order.

Value in"asc" | "desc"

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/admin/service-accounts?status=suspended&sort=name&order=asc"
{
  "service_accounts": [
    {
      "id": "018f1a2b-0001-7000-8000-000000000050",
      "name": "Payment Processor Bot",
      "description": "Service account for payment gateway integration",
      "active": true,
      "created_at": "2026-01-15T08:00:00Z"
    }
  ],
  "total": 0,
  "page": 0,
  "limit": 0,
  "total_pages": 0
}
{
  "error": "unauthenticated",
  "message": "missing or invalid bearer token",
  "request_id": "req_01abc123"
}

Was this page helpful?