Organisations
Read one tab of a live whiteboard
The tab's source and version, and with sinceVersion every change after it and by whom, which is how an agent follows a meeting.
GET
/v1/boards/{board}/tabs/{tab}TL;DR
| Question | Answer |
|---|---|
| What does it do? | Read one tab of a live whiteboard. |
| What does it take? | board, tab in the path, and sinceVersion, svg, revision in the query string. |
| What does it return? | Status 200 with a body of type AgentBoardTabRead. |
| What can go wrong? | 400 the query is not valid; 401 the API key is missing or not valid; 403 the account's plan does not include the REST API (plan.rest_not_included), the key is a person's own or a person's own agent (boards.org_key_required), a trusted publisher (boards.publisher_not_allowed), an organisation key without the boards scope (key.scope_missing), boards are not on for the organisation (boards.not_enabled), or the caller may look but not change the board (boards.forbidden); 404 no such board or tab, or the board is not open to the caller: the cases look alike; 429 too many requests, or a daily limit is spent; 503 live whiteboards are not set up on this server. Every failure uses the one error envelope. |
What it does
The tab's source and version, and with sinceVersion every change after it and by whom, which is how an agent follows a meeting. svg auto or always adds the picture, one SVG for light and dark, when the Engine can draw it. The REST twin of read_board_tab.
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
board | string | yes | The board's id: 22 letters and digits. |
tab | string | yes | The tab's id: 12 letters and digits. |
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
sinceVersion | integer | null | no | The version the caller holds: the answer lists every change after it, by whom. |
svg | "never" | "auto" | "always" | no | never (default): the source only. auto and always: also the picture, one SVG for light and dark. |
revision | string | no | A revision of the tab to read instead of main; its version is the revision's. |
Responses
| Status | Meaning | Body |
|---|---|---|
| 200 | The tab. | AgentBoardTabRead |
| 400 | The query is not valid. | ErrorResponse |
| 401 | The API key is missing or not valid. | ErrorResponse |
| 403 | The account's plan does not include the REST API (plan.rest_not_included), the key is a person's own or a person's own agent (boards.org_key_required), a trusted publisher (boards.publisher_not_allowed), an organisation key without the boards scope (key.scope_missing), boards are not on for the organisation (boards.not_enabled), or the caller may look but not change the board (boards.forbidden). | ErrorResponse |
| 404 | No such board or tab, or the board is not open to the caller: the cases look alike. | ErrorResponse |
| 429 | Too many requests, or a daily limit is spent. | ErrorResponse |
| 503 | Live whiteboards are not set up on this server. | ErrorResponse |
Response body
A 200 answer has the type AgentBoardTabRead.
| Field | Type | Required | Description |
|---|---|---|---|
tab | AgentBoardTab | yes | |
tab.id | string | yes | at least 12 characters; at most 12 characters; pattern ^[0-9A-Za-z]+$. |
tab.name | string | yes | |
tab.kind | string | yes | |
tab.position | number | yes | |
tab.version | integer | yes | Send it as baseVersion with the next edit, and as sinceVersion to learn what changed after it. |
tab.updatedAt | integer | yes | |
tab.updatedBy | string | yes | |
source | string | yes | |
changesSince | BoardHistoryEntry[] | yes | |
changesSince[].version | integer | yes | |
changesSince[].type | string | yes | |
changesSince[].actor | BoardActor | yes | |
changesSince[].actor.kind | "person" | "agent" | "key" | yes | |
changesSince[].actor.label | string | yes | |
changesSince[].counts | object | yes | |
changesSince[].counts.added | integer | yes | |
changesSince[].counts.removed | integer | yes | |
changesSince[].counts.renamed | integer | yes | |
changesSince[].counts.moved | integer | yes | |
changesSince[].counts.changed | integer | yes | |
changesSince[].at | integer | yes | |
changesSince[].restorable | boolean | yes | |
svg | string | no | The picture, when asked for and the Engine could draw it. |
messages | BoardAgentMessage[] | yes | Messages the caller's person sent it on the board that it had not read, each given once. Answer each with reply_board_message. |
messages[].id | string | yes | |
messages[].at | integer | yes | |
messages[].from | string | yes | |
messages[].text | string | yes | |
messages[].tab | string | null | yes | |
messages[].tabName | string | null | yes | |
messages[].revision | string | null | yes | |
messages[].problems | BoardAgentProblem[] | yes | |
messages[].problems[].code | string | yes | pattern ^[A-Z]\d{3,4}$. |
messages[].problems[].severity | "error" | "warning" | yes | |
messages[].problems[].line | integer | yes | minimum 1; maximum 1000000. |
messages[].problems[].column | integer | yes | minimum 1; maximum 1000000. |
messages[].problems[].message | string | yes | at least 1 character; at most 500 characters. |
messages[].problems[].hint | string | null | yes | at least 1 character; at most 500 characters. |
See also
| Doc | Why |
|---|---|
| API reference | Every endpoint, and the error envelope |
| Schemas | Every request and response type |
| Tool reference | The operations as callable tools |