Supplier reports customer activation → redeemed status.
Why this method exists
Supplier reports customer activation → redeemed status.
When to use
Daily batch; max 1000 rows; Idempotency-Key required.
Endpoint
POST /v1/supplier/usage/report-bulk
Authentication: X-Api-Key header (prefix bk_sup_). Do not send projectId or actor id in body — they come from the key.
Scope: supplier:usage:write
Idempotency-Key: required (header). Retries with the same key return cached response.
Request example
{
"meta": { "requestId": "optional-uuid" },
"data": {
"items": [
{ "codeNormalized": "queen14-48amu", "redeemedAt": "2026-07-13T09:30:00Z", "externalRef": "act-998877" }
],
"options": { "allowDirectRedeemFromAvailable": false }
}
}
Response example
{
"success": true,
"data": {
"summary": { "total": 1, "accepted": 1, "rejected": 0, "alreadyRedeemed": 0 },
"results": [
{ "codeNormalized": "queen14-48amu", "success": true, "newStatus": "redeemed" }
]
}
}
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/supplier/usage/report-bulk" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Idempotency-Key: unique-key-001" \
-d '{"data": { "items": [ { "codeNormalized": "queen14-48amu", "redeemedAt": "2026-07-13T09:30:00Z", "externalRef": "act-998877" } ], "options": { "allowDirectRedeemFromAvailable": false } }}'