Skip to main content
Rezolve Ai
API ReferenceEnrichmentPipeline

Run the full enrichment pipeline

POST
/enrichment/pipeline

Generate rules for a product set, then generate the selected content types per product grounded in those rules, and optionally push results back to a connected store. Add lookup to look each product up by its barcode or other identifiers first. Each product's result then says what the lookup did for it. Always returns a durable job (202), or 409 while another enrichment run is in progress for the project. Requires the enrichment:write scope.

Authorization

headerAuthorizationBearer <API key>

API key in the Authorization header: Authorization: Bearer ace_live_.... Use an ace_test_... key for the free, rate-capped sandbox.

Header Parameters

X-Tenant-Id?string

Partner accounts only. The tenant this call is for, as returned by POST /tenants. The call then runs in that tenant exactly as it would with a key pinned to it. Leave it out when you use a tenant's own key.

Formatuuid

Request Body

application/json
  1. body
source*|

Where products come from: an inline payload or a connected store.

contentTypes?array<string>
config?
brandVoice?
creativityLevel?integer
Range1 <= value <= 5
targetLanguage?string
projectId?string
lookup?|

Look each product up by its identifiers before writing, and write with what a published source states about that exact product. Your own product data always wins where the two disagree. Send true to use the free sources (your connected Amazon store, the Open Food Facts database and the product's own page). A web search is charged, and runs only when you name it in sources. A product with no usable identifier, or one that is not matched surely enough, is written exactly as it would be without a lookup.

crossSell?boolean

Let product descriptions name one or two other products from the project's catalogue, so the copy can carry internal links. Off unless true.

Response Body

Job accepted

application/json
  1. response
data?

A durable enrichment job.

Example Request
curl -X POST 'https://example.com/api/v1/enrichment/pipeline' \  -H 'Content-Type: application/json' \  -d '{  "source": {    "type": "inline",    "products": [      {        "id": "string",        "title": "string"      }    ]  }}'
Example Response
{  "data": {    "id": "string",    "kind": "rules",    "status": "pending",    "progress": {      "phase": "string",      "completed": 0,      "total": 0    },    "estimateMs": 0,    "productCount": 0,    "succeededCount": 0,    "failedCount": 0,    "storeId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "links": {      "self": "string",      "results": "string"    }  }}