Service_accounts
Service accounts are machine identities that can own API keys and carry roles for RBAC evaluation. They enable unified authorization across human users and automated systems.
List service accounts in an organization
Authorization
api_key API key authentication using Bearer token format
In: header
Path Parameters
Organization slug
Query Parameters
Maximum number of results to return
int64Cursor for keyset pagination. Encoded as base64 string.
Pagination direction: "forward" (default) or "backward".
Include soft-deleted records in results
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://loading/admin/v1/organizations/string/service-accounts"{
"data": [
{
"created_at": "2019-08-24T14:15:22Z",
"description": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
"roles": [
"string"
],
"slug": "string",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"pagination": {
"has_more": true,
"limit": 100,
"next_cursor": "MTczMzU4MDgwMDAwMDphYmMxMjM0NS02Nzg5LTAxMjMtNDU2Ny0wMTIzNDU2Nzg5YWI",
"prev_cursor": "string"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}Create a service account in an organization
Authorization
api_key API key authentication using Bearer token format
In: header
Path Parameters
Organization slug
Request Body
application/json
Optional description
Display name
Roles to assign (freeform strings, defaults to empty)
URL-friendly identifier (lowercase alphanumeric with hyphens)
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://loading/admin/v1/organizations/string/service-accounts" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string" }'{
"created_at": "2019-08-24T14:15:22Z",
"description": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
"roles": [
"string"
],
"slug": "string",
"updated_at": "2019-08-24T14:15:22Z"
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}Get a service account by slug
Authorization
api_key API key authentication using Bearer token format
In: header
Path Parameters
Organization slug
Service account slug
Response Body
application/json
application/json
application/json
curl -X GET "https://loading/admin/v1/organizations/string/service-accounts/string"{
"created_at": "2019-08-24T14:15:22Z",
"description": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
"roles": [
"string"
],
"slug": "string",
"updated_at": "2019-08-24T14:15:22Z"
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}Update a service account
Authorization
api_key API key authentication using Bearer token format
In: header
Path Parameters
Organization slug
Service account slug
Request Body
application/json
New description
New display name
New roles (replaces existing roles)
Response Body
application/json
application/json
application/json
curl -X PATCH "https://loading/admin/v1/organizations/string/service-accounts/string" \ -H "Content-Type: application/json" \ -d '{}'{
"created_at": "2019-08-24T14:15:22Z",
"description": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
"roles": [
"string"
],
"slug": "string",
"updated_at": "2019-08-24T14:15:22Z"
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}Delete a service account
Authorization
api_key API key authentication using Bearer token format
In: header
Path Parameters
Organization slug
Service account slug
Response Body
application/json
application/json
curl -X DELETE "https://loading/admin/v1/organizations/string/service-accounts/string"{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}{
"error": {
"code": "budget_exceeded",
"message": "Budget limit exceeded for monthly period",
"param": null,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "invalid_request_error"
}
}