Processes values (phone, email, address, company name, website, job title, or person name) through the Data Quality pipeline and returns the prepared results.
The request body is bulk and polymorphic: data is a single resource whose type
selects the domain, and the batch of values is the items[] array inside its
attributes. Because the request targets one
domain, the batch is homogeneous by construction — items is typed to the selected
domain and cannot mix domains. Each domain runs a fixed set of in-house default
steps automatically — the caller does not name parse/validate/normalize. Additional work is
added at the batch level via enrichments (per-domain signal list) and/or custom
normalization (config), both on the resource's attributes; they apply to every item.
The response data is an ARRAY of per-item result resources, in STRICT POSITIONAL 1:1
ORDER with the request's items: data[i] is the result for items[i]. Each resource's
id is that positional index (id == i) — the hard link back to the originating item.
Each element's type is the OUTCOME: a successfully processed item is its domain resource
(type = the request domain), whose attributes echoes the request input (confirmation,
and to disambiguate duplicate input values), the parsed and normalized stage products,
and the final prepared value; an item that failed to process is a PrepareError resource
(type = PrepareError), whose attributes carries the failure detail. Success and failure are
distinct resource types (value XOR error). Items are processed independently: a failed item
still occupies its ordinal slot while the rest of the batch succeeds (the data length and
order always match items).
Error classes:
- WHOLE-REQUEST
400— the request is malformed as a whole and nothing is processed: an emptyitems[]or one exceeding the item cap, or a body that does not parse. (A mixed-domain batch is not possible —itemsis typed to one domain — so it does not arise as a runtime error.) Batch-levelconfigviolations the schema does not enforce are also rejected here: supplying both inlinerulesand aconfigId, or a normalization-rulevaluethat is not legal for itstype. - PER-ITEM
PrepareErrorresource — the request was well-formed but an individual value could not be processed; that item'sdata[i]is aPrepareErrorresource (failuredetailin its attributes) while the rest of the batch succeeds (partial success, still a200). This is a processing error, distinct from validation: a value that processes but does not pass validation is a domain success resource reportingisValid: false(for the domains that validate — address has no validator and omitsisValid), NOT aPrepareErrorresource. Item-level input combinations the schema permits but does not enforce fall here too: an item that supplies both its raw string andcomponents, or neither (or acomponentswith too little to process), becomes aPrepareErrorresource at its slot. 429— the request was rate-limited; retry with backoff.
This operation is synchronous: values are supplied inline and prepared results are returned inline. No records are persisted.