Skip to content

Configure a field's metadata-extraction source + mode

PUT
/fields/{id}/extraction

Sets which extraction-source canonical field this field-definition receives values from + the apply mode. Empty source clears extraction. Empty mode defaults to skip_if_set. Edits invalidate the metadata.extraction_ config cache so the next extract job sees the new wiring.

Gated on the same admin capability as updateField.

id
required
string format: uuid

Per-field extraction wiring. Empty source clears extraction; the operator can then re-attach it later without losing the field-definition’s other settings.

object
source
required

Canonical field name the extractor produces (e.g. capture_datetime, camera_make, gps_coordinates). Empty disables extraction for this field.

string
mode

Apply behaviour. Empty defaults to skip_if_set — the conservative choice that never clobbers operator work.

string
Allowed values: "" skip_if_set replace append prepend

Updated field definition.

object
id
required
string format: uuid
code
required

Federation-stable slug. Globally unique.

string
label
required
string
description
string
type
required
string
Allowed values: text longtext rich_text number boolean date datetime select multi_select tree reference
subject_kind
required

What the field describes. asset definitions apply to individual assets; collection definitions apply to whole collections. One row is one or the other — operators who want a field on both kinds create two rows.

string
Allowed values: asset collection
options

Type-dependent constraints / values. Shape per ADR 0012.

object
key
additional properties
any
required
required
boolean
searchable
required
boolean
applies_to
required

Resource type refs this field applies to. Empty = all. Ignored when subject_kind = ‘collection’.

Array<integer>
field_set_id
string format: uuid
nullable
read_capability
string
nullable
write_capability
string
nullable
display_order
required
integer
display_group
required
string
source

Auto-extraction source, e.g. {“type”:“exif”,“tag”:“DateTimeOriginal”}.

object
key
additional properties
any
extraction_source

CanonicalField the metadata-extraction pipeline writes into this field. Empty = no extraction (the field stays operator-managed). Edited via the dedicated PUT …/extraction endpoint.

string
extraction_mode

Write behaviour when extraction has a value. Empty = default (skip_if_set).

string
Allowed values: "" skip_if_set replace append prepend
status
required
string
Allowed values: active deprecated archived
deprecated_replacement_id
string format: uuid
nullable
created_at
required
string format: date-time
updated_at
required
string format: date-time

Malformed request

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Authenticated but missing required capabilities

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Resource not found

object
error
required

Human-readable error summary

string
Example
the request could not be completed