Update a service account
PATCH/serviceAccounts/{serviceAccountId}
Base URL: https://api.tinkermode.com
Update the service account with the specified ID. Only the name and suspended fields can be changed.
Setting suspended to true rejects all of the service account's tokens until it is set back to false.
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.
Path parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
serviceAccountId | integer | Yes | The unique ID for a specified service account. |
Request body
Content type: application/json
| Property | Type | Required | Constraints | Description |
|---|---|---|---|---|
name | string | No | The new display name. | |
suspended | boolean | No | Whether the service account is suspended. |
Request example
{
"name": "Data Pipeline Worker",
"suspended": false
}Responses
200 Successfully updated service account with specified ID.
Content type: application/json
| 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"
}204 The serviceAccount has been successfully updated.
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 invalid data or 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. |
404 The requested serviceAccount does not exist or is not accessible.
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. |