Overview
Items are the core data objects in Obeya Cloud. Each item belongs to a group on a board and has values for each column.
List Items
List items on a board, optionally filtered by group.
GET /api/trpc/items.list?input={"json":{"boardId":"brd_01HXK5..."}}
Input Parameters:
| Parameter | Type | Required | Description |
|---|
boardId | string | Yes | Board ID |
groupId | string | No | Filter by group |
cursor | string | No | Pagination cursor |
limit | number | No | Results per page (default: 50, max: 200) |
sortBy | string | No | Column ID to sort by |
sortDir | string | No | asc or desc (default: asc) |
filters | array | No | Array of filter conditions |
Response:
{
"result": {
"data": {
"json": {
"items": [
{
"id": "itm_01HXK5QJBN3YZXM8KJP2RSNV4C",
"name": "Implement drag-and-drop",
"boardId": "brd_01HXK5...",
"groupId": "grp_01HXK5...",
"position": 0,
"createdBy": "usr_01HXK5...",
"createdAt": "2026-03-01T10:00:00.000Z",
"updatedAt": "2026-03-19T14:30:00.000Z",
"values": {
"col_01HXK5...": { "label": "In Progress", "color": "#f59e0b" },
"col_01HXK6...": ["usr_01HXK5..."],
"col_01HXK7...": "2026-03-25T00:00:00.000Z"
}
}
],
"nextCursor": "itm_01HXK6..."
}
}
}
}
Get Item
Retrieve a single item with all its values, sub-items, and comments.
GET /api/trpc/items.get?input={"json":{"id":"itm_01HXK5..."}}
Response:
{
"result": {
"data": {
"json": {
"id": "itm_01HXK5QJBN3YZXM8KJP2RSNV4C",
"name": "Implement drag-and-drop",
"description": "Add drag-and-drop support for the board view...",
"boardId": "brd_01HXK5...",
"groupId": "grp_01HXK5...",
"position": 0,
"values": { ... },
"subItems": [
{
"id": "itm_01HXK6...",
"name": "Research DnD libraries",
"values": { ... }
}
],
"commentCount": 5,
"fileCount": 2,
"createdBy": "usr_01HXK5...",
"createdAt": "2026-03-01T10:00:00.000Z",
"updatedAt": "2026-03-19T14:30:00.000Z"
}
}
}
}
Create Item
POST /api/trpc/items.create
Request:
{
"json": {
"boardId": "brd_01HXK5...",
"groupId": "grp_01HXK5...",
"name": "Design new dashboard layout",
"description": "Create wireframes for the updated dashboard",
"position": 0,
"values": {
"col_01HXK5...": { "label": "To Do", "color": "#6366f1" },
"col_01HXK6...": ["usr_01HXK5..."],
"col_01HXK7...": "2026-04-01T00:00:00.000Z"
}
}
}
| Field | Type | Required | Description |
|---|
boardId | string | Yes | Board ID |
groupId | string | Yes | Group ID |
name | string | Yes | Item name (1-500 characters) |
description | string | No | Rich text description |
position | number | No | Position within group (default: end) |
values | object | No | Initial column values keyed by column ID |
parentId | string | No | Parent item ID (for sub-items) |
Update Item
POST /api/trpc/items.update
{
"json": {
"id": "itm_01HXK5...",
"name": "Design new dashboard layout (revised)",
"description": "Updated wireframes with feedback"
}
}
Set Value
Set a specific column value for an item.
POST /api/trpc/items.setValue
{
"json": {
"itemId": "itm_01HXK5...",
"columnId": "col_01HXK5...",
"value": { "label": "Done", "color": "#22c55e" }
}
}
The setValue endpoint triggers real-time updates, automations, and webhook events. Use it instead of bulk updating the values object when changing a single field.
Move Item
Move an item to a different group or board.
POST /api/trpc/items.move
{
"json": {
"id": "itm_01HXK5...",
"groupId": "grp_01HXK6...",
"position": 0
}
}
To move to a different board:
{
"json": {
"id": "itm_01HXK5...",
"boardId": "brd_01HXK6...",
"groupId": "grp_01HXK8...",
"position": 0
}
}
Reorder Items
Reorder items within a group.
POST /api/trpc/items.reorder
{
"json": {
"groupId": "grp_01HXK5...",
"itemIds": ["itm_01HXK7...", "itm_01HXK5...", "itm_01HXK6..."]
}
}
Delete Item
POST /api/trpc/items.delete
{
"json": {
"id": "itm_01HXK5..."
}
}
Items are moved to Trash and can be recovered within 30 days.
Archive Item
POST /api/trpc/items.archive
{
"json": {
"id": "itm_01HXK5..."
}
}
Bulk Operations
Bulk Update
POST /api/trpc/items.bulkUpdate
{
"json": {
"itemIds": ["itm_01HXK5...", "itm_01HXK6...", "itm_01HXK7..."],
"changes": {
"col_01HXK5...": { "label": "Done", "color": "#22c55e" },
"col_01HXK6...": ["usr_01HXK5..."]
}
}
}
Bulk Delete
POST /api/trpc/items.bulkDelete
{
"json": {
"itemIds": ["itm_01HXK5...", "itm_01HXK6..."]
}
}
Bulk operations are limited to 100 items per request to prevent timeout issues.