Skip to main content

Batch-ingest category form-data (wizard step 4)

PUT 

/api/v1/products/:id/form-data

Pushes a partial batch of category field values to a product draft and returns a field-level accept or reject for every field.

Required scope: dpp:draft:write. A WRITE (HMAC + Idempotency-Key). The headless equivalent of filling the wizard's field sections: push a partial batch of category field_id -> value pairs and get a fail-closed, FIELD-LEVEL accept/reject. Every provided field is checked against the category schema (type / enum / range / pattern) and unknown fields are REJECTED (422 FIELD_VALIDATION_ERROR, details.fieldErrors[]), never silently dropped — so a mis-mapped ERP column is immediately visible. Required-completeness is NOT enforced here (a partial batch is allowed); it is reported by the publish gate. On success the response echoes the post-write completeness score and a compact readiness summary. lockVersion gives optimistic concurrency (stale -> 409).

FILE FIELDS (type: file): send the id of a document your company already holds, as returned by POST /api/v1/products/{id}/documents. The server stores that document's file in the field. The document must belong to your company and to this key's mode (live or test), must not be Infected, ScanFailed or Rejected (nor Pending while public documents are served Clean-only), and its file type must match the field's accept. Any document id that cannot be used is refused with the same 422 FIELD_VALIDATION_ERROR field error, code FILE_REFERENCE_UNRESOLVED, whatever the reason, and nothing is written. A URL or free text is never accepted in a file field. To clear the matching certificate rule at the publish gate, upload the document under the exact documentName and documentType the field's evidence names in GET /api/v1/categories/{code}/schema (see FileFieldEvidence).

Request​

Responses​

Ingested (fully validated)

Was this page helpful?