Bulk realize for campaigns; up to 100 codes per request.
Why this method exists
Bulk realize for campaigns; up to 100 codes per request.
When to use
B2B campaigns with code list.
Endpoint
POST /v1/platform/promo-codes/realize-batch
Authentication: X-Api-Key header (prefix bk_plt_). Do not send projectId or actor id in body — they come from the key.
Scope: platform:codes:realize
Idempotency-Key: required (header). Retries with the same key return cached response.
Request example
{
"meta": { "requestId": "optional-uuid" },
"data": { "items": [{ "codeId": "uuid-1", "externalRef": "order-1" }], "batchRef": "campaign-summer-2026" }
}
Response example
{
"success": true,
"data": {
"summary": { "total": 1, "accepted": 1, "rejected": 0 },
"results": [{ "codeId": "uuid-1", "success": true, "status": "realized" }]
}
}
Errors
UNAUTHORIZED/ACCESS_DENIED— access deniedVALIDATION_ERROR— invalid bodyNOT_FOUND— resource not foundRATE_LIMIT_EXCEEDED(429) — rate limit
cURL
curl -X POST "https://api-external.promanta.ru/v1/platform/promo-codes/realize-batch" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Idempotency-Key: unique-key-001" \
-d '{"data": { "items": [{ "codeId": "uuid-1", "externalRef": "order-1" }], "batchRef": "campaign-summer-2026" }}'