Skip to main content
Rezolve Ai
API ReferenceEnrichmentContent

Generate rules-grounded content

POST
/enrichment/content

Generate content for one or many products across one or many content types, grounded in optional pre-generated rules. Add lookup to look each product up by its barcode or other identifiers first, and write with what was found. A product description states only what the product data (and a lookup, when on) states; attributes and specifications it cannot source are left out. Small requests run inline (200, or 207 when some units fail); large ones return a job (202). A request that becomes a job is refused with 409 while another enrichment run is in progress for the project; an inline request is not a run and is answered. 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>
Items1 <= items
config?
rules?
brandVoice?
targetLanguage?string
projectId?string
mode?string
Value in"sync""async"
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

Content generated inline. With lookup on, each result carries what the lookup did for that product, and the response carries the totals and any credit a source asks for.

application/json
  1. response
data?
curl -X POST 'https://example.com/api/v1/enrichment/content' \  -H 'Content-Type: application/json' \  -d '{  "source": {    "type": "inline",    "products": [      {        "id": "sku-1",        "title": "Fineliner pen, azure",        "category": "Pens"      }    ]  },  "contentTypes": [    "product-description",    "meta-tags"  ]}'
Example Response
{  "data": {    "results": [      {        "productId": "string",        "content": {},        "units": [          {}        ],        "lookup": {          "status": "grounded",          "confidence": 0,          "factCount": 0,          "sources": [            {              "id": "amazon",              "status": "hit",              "reason": "string"            }          ]        }      }    ],    "succeededCount": 0,    "failedCount": 0,    "skippedContentTypes": [      "string"    ],    "lookup": {      "attempted": 0,      "grounded": 0,      "searchCalls": 0,      "cacheHits": 0    },    "attributions": [      {        "source": "string",        "provider": "string",        "text": "string",        "licence": "string",        "url": "string"      }    ]  }}