Get service accounts
GET/serviceAccounts
Base URL: https://api.tinkermode.com
Get a list of the service accounts in a project. When the search parameter is used, only service accounts whose name matches exactly or partially one of the phrases will be returned.
Authentication
Send an Authorization header of the form ModeCloud <AUTH_CODE>.
Must contain a user API key for a project super admin or a project API key with "Admin" privileges.
Query parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
limit | integer | No | default: 25; max: 100 | Maximum number of service accounts to return. Must not exceed 100. |
projectId | integer | Yes | Return the service accounts of the specified project. | |
search | string | No | Search for service accounts by keywords. The search string may contain multiple phrases separated by whitespaces. | |
skip | integer | No | default: 0; min: 0 | Number of service accounts to skip over. |
Responses
200 Successful retrieval of list of service accounts.
Content type: application/json
Represents a project-scoped, machine-to-machine API credential. Its permissions come from access control group memberships and direct permission statements, the same as a user. It is available only in projects with fine-grained access control enabled.
An array of objects with the following shape:
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
createdAt | string | Yes | read-only (server-generated) | Time the service account was created, in RFC3339 format. |
id | integer | Yes | read-only (server-generated) | Unique ID assigned at time of creation. |
name | string | Yes | Display name of the service account. | |
projectId | integer | Yes | read-only (server-generated) | Project that this service account belongs to. |
suspended | boolean | Yes | When true, the service account is suspended and all of its tokens are rejected. | |
updatedAt | string | Yes | read-only (server-generated) | Time the service account was last updated, in RFC3339 format. |
Response example
[
{
"createdAt": "2026-06-01T00:00:00.000Z",
"id": 7,
"name": "Data Pipeline Worker",
"projectId": 1234,
"suspended": false,
"updatedAt": "2026-06-01T00:00:00.000Z"
},
{
"createdAt": "2026-06-02T09:15:00.000Z",
"id": 8,
"name": "Reporting Exporter",
"projectId": 1234,
"suspended": true,
"updatedAt": "2026-06-04T14:30:00.000Z"
}
]401 Authorization is required to access this resource.
Content type: application/json
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
data | object | No | read-only (server-generated) | Any relevant data related to error. |
reason | string | Yes | read-only (server-generated) | Reason of error. |
403 Request failed because of denied permission.
Content type: application/json
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
data | object | No | read-only (server-generated) | Any relevant data related to error. |
reason | string | Yes | read-only (server-generated) | Reason of error. |
429 Request failed because of rate limit.
Content type: application/json
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
data | object | No | read-only (server-generated) | Any relevant data related to error. |
reason | string | Yes | read-only (server-generated) | Reason of error. |
500 An unexpected error has occurred.
Content type: application/json
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
data | object | No | read-only (server-generated) | Any relevant data related to error. |
reason | string | Yes | read-only (server-generated) | Reason of error. |
503 The service is temporarily unavailable.
Content type: application/json
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
data | object | No | read-only (server-generated) | Any relevant data related to error. |
reason | string | Yes | read-only (server-generated) | Reason of error. |