Skip to content

Get selected fields for a batch of cards (cross-board)

GET
/cards/info/batch
curl --request GET \
--url 'https://projects.work.optidata.cloud/api/cards/info/batch?ids%5B%5D=1' \
--header 'Authorization: Bearer <token>'

Returns lightweight info for cards by id across all boards the caller is a member of (inaccessible ids are silently omitted). By default returns id, title and number; use options[fields][] to choose fields and options[with][] to embed the parent board ({id, name, icon}) or column ({id, name}).

ids[]
required
Array<integer>

Card ids to fetch.

options[fields][]
Array<string>
Allowed values: title number column_id status due_date archived_at completed_at

Fields to include (id is always included).

options[with][]
Array<string>
Allowed values: board column

Relations to embed.

Requested cards (accessible ones only).

Media typeapplication/json
object
cards
Array<object>

Partial card — contains id plus the requested fields/relations.

object
Example
{
"cards": [
{
"id": 9001,
"title": "Draft homepage copy",
"number": 1,
"board_id": 42,
"board": {
"id": 42,
"name": "Website Redesign",
"icon": "🎨"
}
}
]
}

Missing, invalid or expired bearer passport.

Media typeapplication/json
object
error
string
Example
{
"error": "JWT passport exception: Missing bearer token in request"
}

The authenticated user lacks the required board permission.

Media typeapplication/json
object
message
string
Example
{
"message": "This action is unauthorized."
}

Validation failed.

Media typeapplication/json
object
message

First validation error message.

string
errors

Map of field name → list of error messages.

object
key
additional properties
Array<string>
Example
{
"message": "The name field is required.",
"errors": {
"name": [
"The name field is required."
]
}
}