Skip to content
TasksMate Developers

0.x — pre-release, no compatibility promise yet.What this means

PATCH/v1/organizations/{org_id}/service-accounts/{user_id}Token scope: org:write

Rename (its display name; the username never changes).

org_id
required
Org Id
string
user_id
required
User Id
string
Media typeapplication/json
ServiceAccountUpdate

The request body of service-accounts.update.

object
name
required
Name

The new name (the username never changes)

string
>= 1 characters <= 100 characters

Example

{
"name": "string"
}

Successful Response

Media typeapplication/json
ServiceAccountOut

Returned by service-accounts.create, service-accounts.delete and service-accounts.update.

object
user_id
required
User Id

The service account’s principal id (its user id).

string
org_id
required
Org Id
string
name
Any of:
string
username
required
Username

sa-<slug>: fixed at creation (tasks reference it)

string
email
required
Email

<slug>@service.<org_id>.tasksmate.invalid — syntactically valid, never deliverable

string
kind
Kind

Always service_account

string
default: service_account
role
Role

Always member: a service account is never owner / admin

string
default: member
designation
Any of:
string
is_active
Is Active

False once deactivated (its tokens were revoked then)

boolean
default: true
created_at
Any of:
string format: date-time
active_tokens
Active Tokens

Tokens of this account that authenticate right now

integer
0

Example

{
"active_tokens": 1,
"created_at": "2026-09-25T12:00:00Z",
"email": "ci-bot@service.o0020.tasksmate.invalid",
"is_active": true,
"kind": "service_account",
"name": "CI bot",
"org_id": "O0020",
"role": "member",
"user_id": "3f1c2a9e-0b7d-4c1e-9a55-2b8f0d6e4a10",
"username": "sa-ci-bot"
}

Bad request — a query parameter outside what the operation accepts (invalid-parameter)

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "Bad request",
"status": 400,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Missing or invalid bearer token

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "Missing or invalid bearer token",
"status": 401,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Authenticated, but not allowed

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "Authenticated, but not allowed",
"status": 403,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Not found

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "Not found",
"status": 404,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Conflict (a duplicate, or an Idempotency-Key still in flight)

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "Conflict (a duplicate, or an `Idempotency-Key` still in flight)",
"status": 409,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

If-Match does not match the current ETag

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "`If-Match` does not match the current `ETag`",
"status": 412,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

The body or query did not validate (validation), or an Idempotency-Key was reused

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "The body or query did not validate (`validation`), or an `Idempotency-Key` was reused",
"status": 422,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

An access token over its per-minute limit (rate-limit; see Retry-After)

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "An access token over its per-minute limit (`rate-limit`; see `Retry-After`)",
"status": 429,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Unexpected server error — quote request_id

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object — the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:tasksmate:problem:* identifier

string
Allowed values: about:blank urn:tasksmate:problem:validation urn:tasksmate:problem:invalid-parameter urn:tasksmate:problem:precondition-failed urn:tasksmate:problem:idempotency-key-reused urn:tasksmate:problem:idempotency-key-in-flight urn:tasksmate:problem:idempotency-key-invalid urn:tasksmate:problem:rate-limit urn:tasksmate:problem:internal urn:tasksmate:problem:token-invalid urn:tasksmate:problem:token-expired urn:tasksmate:problem:token-revoked urn:tasksmate:problem:insufficient-scope urn:tasksmate:problem:test-token-read-only urn:tasksmate:problem:token-policy urn:tasksmate:problem:url-refused
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object

Example

{
"type": "about:blank",
"title": "Unexpected server error",
"status": 500,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}