Skip to main content

Create Data Product

Produce a data product from a finished pipeline run and rebuild its review queue. The data product is where extracted rows are read and review holdback is enforced.

Produce a data product from a finished pipeline run. The data product is the read surface for the run's extracted rows: you read its rows, generate a share token, and export CSV through the data-products endpoints. It is also where per-cell review holdback lives. Fields a blocking gate parked for review surface with status only, with the value withheld, until a reviewer resolves them.

A pipeline is effectively one-to-one with its data product. Calling this endpoint again reactivates the existing product rather than minting a duplicate, and in either case it rebuilds the review queue from the run's stored validation verdicts. The run must have at least one completed (or partial) document; a run with nothing processed yet is rejected with 400. Preview runs cannot produce data products.

The response carries the created (or reactivated) data product and its auto-generated share token. Pass an optional name to label the product; it defaults to the run name plus a suffix. Once created, use the returned data_product id with the data-products endpoints to read rows and the share token for the public delivery surface. This endpoint requires an API key with the write scope.

Creating a data product rebuilds the run's review queue from stored verdicts. The queue rebuild is best-effort: the product is already created even if the rebuild step encounters an error.
POST/v1/pipelines/{id}/data-product

Response

Response fields

dataProductobjectThe created or reactivated data product.
dataProduct.idstringData product UUID. Use this with the data-products endpoints.
dataProduct.namestringData product name.
dataProduct.pipeline_idstringThe pipeline run this product was built from.
dataProduct.statusstringProduct status (active).
shareTokenobjectAuto-generated share token for the public delivery surface.
shareToken.tokenstringOpaque share token string.

Response

{
  "dataProduct": {
    "id": "dp_uuid_1",
    "name": "Lease Agreement — Data Product",
    "pipeline_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": "active"
  },
  "shareToken": {
    "data_product_id": "dp_uuid_1",
    "token": "shr_8f2c1a9b3d7e4f60"
  }
}

Errors

Error responses

400bad_requestThe run has no completed documents, or it is a preview run (previews cannot produce data products).
401unauthorizedMissing or invalid API key.
404not_foundNo pipeline with this ID exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.