Create or upsert Attributes
A single payload returns a bare Attribute: 201 for a new key and 200 when the existing same-type key is updated. { "attributes": [...] } performs up to 500 atomic database writes and returns { "data": [...] }. Attribute webhook effects are dispatched after the database commit and are best-effort. Attribute type and relation kind are immutable for an existing key.
Single and bulk behavior
- Send one Attribute object to create or upsert one key. A new key returns
201; an existing compatible key returns200with the bare Attribute. - Send
{ "attributes": [...] }to upsert up to 500 Attributes atomically. The response is200with{ "data": [...] }. - An existing Attribute’s
typecannot change. A Relation Attribute’s relation kind cannot change either. - Omitted
language,image_config, andnumber_configvalues preserve existing metadata during an upsert.
POST /attributes/{key}/rename only when the identity stays the same and the key changes.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
- Option 1
- Option 2
^[a-zA-Z0-9][a-zA-Z0-9_/]*$text, number, url, email, date, boolean, richtext, format, enum, tags, image, images, file, files, json, relation Only valid for format Attributes. Defaults to text when omitted or null.
text, number, boolean, json, richtext, file, image Only valid for number or Formula-number Attributes. Omit during an upsert to preserve existing metadata.
Relation kind is immutable after creation.
When omitted during an upsert, the existing language is preserved.
When omitted during an upsert, existing canonical image requirements are preserved. Send an empty object to clear them.
Response
Existing single Attribute updated, or bulk upsert completed
- Option 1
- Option 2
text, number, url, email, date, boolean, richtext, format, enum, tags, image, images, file, files, json, relation The stored result type produced by a format Attribute. Format formulas execute only in Extraction; Catalog stores the resulting value.
text, number, boolean, json, richtext, file, image Whether table editors may append missing enum or tag choices.
Presentation metadata for number and Formula-number Attributes. Stored and API values remain numeric.
Canonical requirements shared by every usage of an image Attribute.
Derived from archive state. Archive and restore remain Dashboard-only.
active, archived 
