Insert Transaction
Transactions
Insert Transaction
Submit a synchronous loyalty transaction for a member.
POST
Insert Transaction
Submits a single loyalty transaction and returns the result synchronously after the Loyalife Rule Engine has evaluated it. The Rule Engine automatically calculates how many points to award based on your program’s configured rules — you do not specify a points amount in the request. Rules can evaluate multiple attributes including transaction
amount, product_code, transaction_type, member tier, and any custom attributes defined in your program. If no rule matches the transaction, the transaction succeeds but zero points are awarded — IsSucessful will still be true.
Use this for real-time integrations where you need the outcome before responding to the customer. For bulk or end-of-day uploads, use Insert Transaction V2 instead.
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
200 — Success
200 — Success
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | true |
results.ErrorCode | string | 000 |
results.ExceptionMessage | string | Success |
results.ReturnObject | boolean | true on successful submission |
400 — Invalid Request
400 — Invalid Request
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | false |
results.ErrorCode | string | Error code from the platform |
results.ExceptionMessage | string | Human-readable reason, e.g. Invalid product code — always check this field |
Error Codes
| Code | ExceptionMessage | Cause |
|---|---|---|
000 | Success | Transaction accepted and queued for Rule Engine processing |
006 | Insert failed | Transaction could not be inserted |
103 | Member does not exist | member_relation_reference not found in the program |
201 | Failed to award points | Points calculation or award step failed |
209 | Transaction reference missing | transaction_id not provided |
210 | Request DateTime invalid / missing | transaction_date is missing or in the wrong format |
997 | Exception occurred | Unexpected server-side error |
999 | Bad request | Malformed payload or missing required fields |
Authorizations
JWT obtained from Generate Auth Token. Pass as Authorization: bearer {token}.
Query Parameters
Your loyalty program ID
Example:
19
Body
application/json
Your unique transaction reference
Example:
"TXN-2026-001"
Example:
1500
Example:
"2026-05-11"
Product or merchant code as configured in your program
Example:
"RETAIL001"
Example:
"jane.doe@example.com"
DR for debit (purchase/earn), CR for credit (reversal)
Example:
"DR"
Example:
"ELECTRONICS"
Response
Transaction accepted