Skip to main content
PUT
Update a custom field
slug and type may be echoed with their stored values but never changed. values is merged by option value: existing options are edited in place, new ones are appended, and a stored option missing from the list is rejected — retire it with status: "DEACTIVATED" instead. status of the field itself is not writable here; use the activate and deactivate endpoints.

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

organizationId
string<uuid>
required

ID of your organization.

Format: UUID

customFieldId
string<uuid>
required

ID of the custom field.

Format: UUID

Body

application/json
label
string

New human-readable name of the field. Omit to keep the current one.

Required string length: 1 - 50
Example:

"Centro de custo"

slug
string

Immutable. May be echoed with the stored value (for example when resending the whole definition); a different value answers 422 CUSTOM_FIELD_SLUG_IMMUTABLE.

Required string length: 2 - 80
Pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
Example:

"centro-de-custo"

location
enum<string>[]

Replaces the full list of entities the field is attached to. Omit to keep the current one.


Example: ["TRANSACTION","CARD"]

Available options:
TRANSACTION,
CARD,
WALLET,
CUSTOMER,
TRIP,
TRAVEL_PASSENGER,
USER,
VEHICLE
type
enum<string>

Immutable. May be echoed with the stored value; a different value answers 422 CUSTOM_FIELD_TYPE_IMMUTABLE.

Available options:
TEXT,
NUMBER,
DATE,
BOOLEAN,
SELECT,
MULTI_SELECT,
CUSTOMER,
FILE,
MULTI_FILE
Example:

"SELECT"

values
object[] | null

The complete option list of a SELECT / MULTI_SELECT field, merged by value: existing options are edited in place, new ones are appended, and a stored option that is missing from the list is rejected — deactivate it instead. Omit to leave the options untouched.

mask
string

Display format of a NUMBER field: NONE, BRL, USD or PERCENT. A NUMBER field's existing mask cannot be cleared (422 CUSTOM_FIELD_MASK_REQUIRED).

Example:

"BRL"

required
boolean

Whether a value must be provided on every entity listed in location.

Example:

true

description
string

Help text shown alongside the field.

Maximum string length: 512
Example:

"Centro de custo responsável pela despesa"

Response

Successful response

A custom-field definition.

id
string
required

Unique identifier of the custom field.

Example:

"9c4f0a2e-7b3d-4e8a-a1f5-2d6c8b0e4a71"

status
enum<string>
required

ACTIVE fields are rendered and validated on the entities listed in location. DEACTIVATED fields are hidden from new entries while their stored values stay readable. Changed only through the activate and deactivate endpoints.

Available options:
ACTIVE,
DEACTIVATED
Example:

"ACTIVE"

realm
string
required

Realm the field belongs to.

Example:

"6f1d2c3b-4a5e-4f60-9b7c-8d9e0f1a2b3c"

organization
string
required

Organization the field belongs to.

Example:

"0b8e7d6c-5a4f-4e3d-9c2b-1a0f9e8d7c6b"

label
string
required

Human-readable name shown wherever the field is rendered.

Example:

"Centro de custo"

slug
string
required

Stable key of the field: the property name under which its value is stored in the customFields map of transactions, cards, wallets, users and the other entities in location. Unique per organization and immutable after creation.

Example:

"centro-de-custo"

type
enum<string>
required

Value type the field accepts. Immutable after creation.

Available options:
TEXT,
NUMBER,
DATE,
BOOLEAN,
SELECT,
MULTI_SELECT,
CUSTOMER,
FILE,
MULTI_FILE
Example:

"SELECT"

values
object[]
required

Selectable options of a SELECT / MULTI_SELECT field. Normally empty for the other types.

location
enum<string>[]
required

Entities the field is attached to. A value is accepted — and, when required is true, demanded — on each listed entity.


Example: ["TRANSACTION","CARD"]

Available options:
TRANSACTION,
CARD,
WALLET,
CUSTOMER,
TRIP,
TRAVEL_PASSENGER,
USER,
VEHICLE
mask
string
required

Display format of a NUMBER field: NONE (plain number), BRL (Brazilian reais), USD (US dollars) or PERCENT. Empty for the other types.

Example:

"BRL"

required
boolean
required

Whether a value must be provided on every entity listed in location.

Example:

true

description
string
required

Optional help text shown alongside the field. Empty when none was given.

Example:

"Centro de custo responsável pela despesa"

createdBy
string
required

ID of the user who created the field.

Example:

"3e2d1c0b-9a8f-4e7d-8c6b-5a4f3e2d1c0b"

updatedBy
string
required

ID of the user who last changed the field.

Example:

"3e2d1c0b-9a8f-4e7d-8c6b-5a4f3e2d1c0b"

createdAt
string

When the field was created (ISO 8601, UTC).

Example:

"2026-09-02T14:21:05.318Z"

updatedAt
string

When the field was last changed (ISO 8601, UTC).

Example:

"2026-09-18T09:07:44.902Z"