Skip to main content
POST
Create a transaction

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

A completed checkout to record against a lane and cashier, with its products, payments, and totals.

id
string<uuid>
required

Unique transaction ID generated by your system (UUID version 7). Sending the same transaction twice with the same ID will not create a duplicate.

completed_at
string<date-time>
required

When the transaction was completed in your system.

employee_id
string
required

ID of the employee to record this transaction under.

Pattern: ^[0-9]+$
lane_id
string
required

ID of the lane to record this transaction under.

Pattern: ^[0-9]+$
line_items
object[]
required

Products on the transaction.

Required array length: 1 - 2500 elements
payments
object[]
required

Payments applied to the transaction.

Required array length: 1 - 50 elements
tax_total
string<positive-monetary>
required

Total sales tax charged on the transaction. Must equal the sum of the line-item tax totals.

Pattern: ^[0-9]+(\.[0-9]+)?$
Example:

"199.99"

total
string<positive-monetary>
required

Final transaction total including tax. Must equal the sum of the line totals, and the payments must add up to this amount.

Pattern: ^[0-9]+(\.[0-9]+)?$
Example:

"199.99"

shopper_id
string<uuid>

ID of the loyalty shopper who placed the transaction, if known. Links the transaction to their loyalty account.

Response

A completed checkout at a store, covering the lane, cashier, and shopper, the products sold, the savings applied, the payments collected, and any refunds against it.

id
string
required

Unique identifier for the record.

cashback_amount
string<monetary>
required

Cash back requested by the shopper, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

completed_at
string<date-time>
required

Date and time when the transaction was finalized.

coupon_total
string<monetary>
required

Total savings from coupons, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

discount_total
string<monetary>
required

Total savings from manual or employee discounts, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

employee_id
string
required

ID of the employee who processed the transaction.

Pattern: ^[0-9]+$
gift_card_sales
object[]
required

Gift cards purchased in the transaction.

gift_card_sales_total
string<monetary>
required

Total face value of gift cards purchased in the transaction, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

issued_coupons
object[]
required

Coupons issued to the shopper by the transaction.

item_modifier_total
string<monetary>
required

Total value of item modifiers, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

lane_id
string
required

ID of the checkout lane that processed the transaction.

Pattern: ^[0-9]+$
line_items
object[]
required

Product line items included in the transaction.

loyalty_rewards_total
string<monetary>
required

Total savings from loyalty reward redemptions, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

payments
object[]
required

Payments collected for the transaction.

promo_savings
string<monetary>
required

Total savings from promotions, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

promo_total
string<monetary>
required

Sum of line-item totals after promotions are applied, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

receipt_type
enum<string> | null
required

How the shopper took their receipt.

Available options:
noReceipt,
print,
sms
refund_total
string<monetary>
required

Total value refunded against this transaction, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

refunds
object[]
required

Refunds of the transaction. Retrieve one with GET /v1/transactions/{id} for the products returned and how the money went back.

retail_total
string<monetary>
required

Sum of line-item retail totals after promotions and before discounts and tax, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

shopper_facing_id
string
required

Human-readable transaction identifier shown to the shopper.

shopper_id
string<uuid> | null
required

ID of the loyalty shopper associated with the transaction, or null for an anonymous transaction.

started_at
string<date-time>
required

Date and time when the cashier started the transaction.

status
enum<string>
required

Current lifecycle status of the transaction.

Available options:
completed,
expired,
suspended,
voided
store_id
string
required

ID of the store where the transaction was placed.

Pattern: ^[0-9]+$
subtotal
string<monetary>
required

Sum of line-item subtotals before promotions, discounts, and tax, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

tax_total
string<monetary>
required

Total tax charged on the transaction, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

taxable_amount
string<monetary>
required

Portion of the transaction subject to tax, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

tip_amount
string<monetary>
required

Tip added by the shopper, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

total
string<monetary>
required

Final transaction amount including tax, as a decimal string in major/minor currency units. Sales are positive and refunds are negative.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

total_collected
string<monetary>
required

Total collected from the shopper, including the transaction total, tip, and cash back, as a decimal string in major/minor currency units.

Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"199.99"

type
enum<string>
required

Financial transaction type represented by the transaction.

Available options:
refund,
sale,
void