Skip to content

List a card's custom field values

GET
/boards/{board}/cards/{card}/custom-fields
curl --request GET \
--url https://projects.work.optidata.cloud/api/boards/1/cards/1/custom-fields \
--header 'Authorization: Bearer <token>'

Returns the card’s stored custom field values (active definitions only), each with its definition embedded.

board
required
integer

Board id.

card
required
integer

Card id (must belong to the board).

Custom field values.

Media typeapplication/json
Array<object>

A stored custom field value. Exactly one value_* column is populated, matching the definition’s type.

object
id
integer
card_id
integer
definition_id
integer
value_text
string | null
value_integer
integer | null
value_decimal
number | null
value_datetime
string | null format: date-time
value_boolean
boolean | null
value_json
definition

Definition of a custom field. board_id null (and is_global true) means tenant-wide.

object
id
integer
board_id
integer | null
name
string
>= 1 characters <= 60 characters
type
string
Allowed values: text number select checkbox date person
description
string | null
<= 250 characters
config

Type-specific configuration. Examples — text: {multiline, max_length, placeholder, default_value}; select: {options: [{id, label, color}]}; checkbox: {default_value}.

object | null
order
integer
is_required

Required fields block card interactions (comments, files, timers) until filled.

boolean
is_active
boolean
is_global
boolean
created_at
string format: date-time
updated_at
string format: date-time
deleted_at
string | null format: date-time
created_at
string format: date-time
updated_at
string format: date-time
Example
[
{
"id": 800,
"card_id": 9001,
"definition_id": 12,
"value_text": "High",
"value_integer": null,
"value_decimal": null,
"value_datetime": null,
"value_boolean": null,
"value_json": null,
"definition": {
"id": 12,
"board_id": 42,
"name": "Priority",
"type": "select",
"description": null,
"config": {
"options": [
{
"id": "opt-1",
"label": "High",
"color": "#ef4444"
},
{
"id": "opt-2",
"label": "Low",
"color": "#22c55e"
}
]
},
"order": 0,
"is_required": false,
"is_active": true,
"is_global": false
}
}
]

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."
}

Resource not found, or a nested resource does not belong to its parent in the path.

Media typeapplication/json
object
message
string
Example
{
"message": "Not found."
}