Insert Transaction V2 (Batch)
Transactions
Insert Transaction V2 (Batch)
Submit one or more transactions asynchronously for bulk processing.
POST
Insert Transaction V2 (Batch)
Accepts an array of loyalty transactions and queues them for asynchronous processing by the Rule Engine. The Rule Engine automatically calculates points for each transaction based on your program rules — you do not specify points amounts. The API returns immediately with a
batch_id; processing happens in the background.
There is currently no enforced batch size limit, but keeping batches under 100 transactions is strongly recommended for performance. A batch size limit of 100 may be enforced in a future release.
Timestamps are in the timezone of your deployment environment. For cloud deployments confirm the timezone with your Xoxoday implementation contact. For on-premise deployments, the server timezone applies.
Responses
202 — Accepted
202 — Accepted
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | true |
results.ErrorCode | string | 001 — note: this endpoint returns 001 (not 000) on success |
results.ExceptionMessage | string | Success |
results.ReturnObject.batch_id | string | Identifies this batch — e.g. abc_1759321530_123. Pass to Poll Batch Status. |
results.ReturnObject.message | string | Transactions queued successfully |
results.ReturnObject.total_transactions | integer | Number of transactions accepted into the batch |
results.ReturnObject.transactions | array | One entry per transaction submitted in the batch |
results.ReturnObject.transactions[].member_relation_reference | string | The member identifier from the request |
results.ReturnObject.transactions[].transaction_id | string | The transaction_id from the request |
results.ReturnObject.transactions[].transaction_type | string | dr (debit / earn) or cr (credit / reversal) |
results.ReturnObject.transactions[].request_id | string | Server-assigned unique ID for this queued item — use for support or tracing |
Authorizations
JWT obtained from Generate Auth Token. Pass as Authorization: bearer {token}.
Query Parameters
Your loyalty program ID
Example:
19
Body
application/json
Example:
1500
Example:
"2026-05-11"
Example:
"RETAIL001"
Example:
"jane.doe@example.com"
DR for purchase/earn, CR for reversal
Example:
"dr"
Example:
"TXN-2026-001"
Idempotency key for safe retries. Reuse on retry; new value for genuinely new submissions.
Example:
"order-inv-2026-001"
Example:
"ELECTRONICS"
Response
202 - application/json
Transactions queued