Prepare Data Quality

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 empty items[] or one exceeding the item cap, or a body that does not parse. (A mixed-domain batch is not possible — items is typed to one domain — so it does not arise as a runtime error.) Batch-level config violations the schema does not enforce are also rejected here: supplying both inline rules and a configId, or a normalization-rule value that is not legal for its type.
  • PER-ITEM PrepareError resource — the request was well-formed but an individual value could not be processed; that item's data[i] is a PrepareError resource (failure detail in its attributes) while the rest of the batch succeeds (partial success, still a 200). This is a processing error, distinct from validation: a value that processes but does not pass validation is a domain success resource reporting isValid: false (for the domains that validate — address has no validator and omits isValid), NOT a PrepareError resource. Item-level input combinations the schema permits but does not enforce fall here too: an item that supplies both its raw string and components, or neither (or a components with too little to process), becomes a PrepareError resource 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.

Body Params

The Data Quality request body. Polymorphic: data is a single resource typed by data.type, carrying the batch in attributes.items. Item order is significant — results are returned in the same order, so preserve items ordering when correlating responses.

Data Quality request body. data is a SINGLE resource whose type selects the domain (document-level discriminator); the batch of values is the items[] array inside its attributes. The whole request targets one domain, so homogeneity is structural — items is typed to the selected domain and cannot mix domains — and routing is unambiguous. Batch-level levers (config, enrichments) likewise live in the resource's attributes and apply to every item.

data
required

The primary data of the document

Responses

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/vnd.api+json