agency-board
PATCH /v1/agency/boards/{boardId}
Rename a board or attach a client organisation to it.
Authentication
Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.
This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X PATCH https://api.zinndigital.com/v1/agency/boards/{boardId} \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ }'Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
Attaching a client to a board that has none is always allowed — that is how a board created for internal work becomes a client's board. ⛔ **Changing or clearing a client that is already attached is refused with a `422` once the client has seen anything on the board** — a client-visible card, a question asked of them, or one of their people invited to it. Re-pointing such a board would hand a second client the first one's brief, answers and complaints through a screen whose whole promise is that a client sees only what the agency shared. Archive the board and start a new one for the other client. Sending the client id the board already holds is not a change and is never refused, so a rename carrying the whole form still works.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
boardId (path) | Uuid | Yes | Project board ID (UUIDv7). |
Request body
| Name | Type | Required | What it is |
|---|---|---|---|
name | string | No | — |
description | string | No | — |
client_org_id | string | No | — |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
id | Uuid | Yes | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | Yes | The agency that owns this board. |
client_org_id | string | No | The client organisation this board's work is for, if any. This is what authorises a client's read — never the org tree, because "is a descendant of the agency" is a weaker claim… |
client_org_name | string | No | That client organisation's name, resolved by the engine. `client_org_id` set with this `null` is a real state and not an error — the board names a client the caller may not read… |
name | string | Yes | — |
description | string | No | — |
archived_at | string | No | — |
open_question_count | integer | No | — |
created_at | string | Yes | — |
updated_at | string | No | — |
created_by | AgencyBoardActor | No | Who created the board. `null` if that account no longer exists. |
updated_by | AgencyBoardActor | No | Who last changed the board itself — its name, description or client organisation. ⛔ NOT "who last touched anything on it": that is the activity feed. It moves exactly when `upda… |
Errors this endpoint can return
401 · 403 · 404 · 422