Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Project-scoped API key, e.g. nohead_sk_k7fz0a9c3m2q_<secret>, or nohead_pk_… for a published-only key. Used by servers, CI, the CLI and coding agents.

Headers

Idempotency-Key
string

A unique value (1-255 printable ASCII characters) that makes retrying this request safe. The first response (below 500) is stored for 24 hours per user or API key; retries with the same key and the same request get it again with an Idempotent-Replayed: true header. The same key with a different request is refused with 400; a retry while the first request is still running gets 409.

Required string length: 1 - 255
Nohead-Client
string

First-party client identifier recorded in history (e.g. cli/0.3.1). Informational only.

Nohead-Change-Note
string

Optional reason for the change, kept with the record revision, schema change or field migration it makes (at most 500 characters once decoded). Percent-encoded UTF-8, as encodeURIComponent encodes it, so any language fits in a header: Rettet%20stavefejl%20p%C3%A5%20forsiden. Plain ASCII may be sent as is. Other bytes are 400.

Path Parameters

collection_id
string
required

Collection ID, or the collection slug when authenticating with an API key.

Query Parameters

dry_run
boolean
default:false

Body

application/json

The field, and the parts of its definition to change; omitted parts stay as they are.

field_id
string
required

One of the collection's fields (422 otherwise).

Example:

"fld_01J9ZQ3F8X5W2K7M4N6P0R1S2T"

type
enum<string>
Available options:
text,
long_text,
rich_text,
integer,
decimal,
date,
boolean,
enum,
asset,
relation,
json
configuration
object

The complete new configuration. When the type changes and this is omitted, only description, searchable, filterable and sortable carry over.

multiple
boolean

A list of distinct values (a repeated value is refused with duplicate_value, an empty string with blank_value). Not available for boolean, long_text, rich_text and json fields.

required
boolean
backfill
any

Value for active records that have no value, validated like a record value of the new definition; an empty string is refused with blank_value.

on_invalid
enum<string>
default:fail

clear removes values that cannot be converted (or backfills them); fail refuses the migration.

Available options:
fail,
clear
time_zone
string

When a date field's include_time is turned off: the IANA time zone (e.g. Europe/Copenhagen) whose day each moment falls on. Default: the field's time_zone, else UTC. Refused for any other change.

Example:

"Europe/Copenhagen"

Response

A preview (dry runs only).

object
any
required
field_id
string
required
from
object
required
to
object
required
conversion
enum<string>
required

safe: every value converts unchanged in meaning. convertible: every value converts, the representation changes. conditional: some values may not convert.

Available options:
safe,
convertible,
conditional
records
object
required

Records by outcome, including soft-deleted records (which are converted but never backfilled).

samples
object[]
required

Up to 10 affected records, invalid ones first.