Create transaction
Record a new transaction against a pass.
Authorizations
API key authentication. Include your API key as a Bearer token.
Example: Bearer sk_prod_xxxxxx
Get your API key from the Stell Dashboard.
Body
Data required to record a new transaction.
ID of the pass to record transaction for
ID of the store where transaction occurred
Type of transaction being recorded
ONLINE, PASS_AND_PAYMENT, PASS_ONLY, PAYMENT_ONLY, SCAN_ONLY, CHECK_IN, CHECK_OUT, UNKNOWN Loyalty points redeemed in this transaction
x >= 0Payment method used for the transaction
CARD, CASH, MOBILE, OTHER, APPLE_VAS, GOOGLE_SMART_TAP, QR, NFC_TYPE_1, NFC_TYPE_2, NFC_TYPE_3, NFC_TYPE_4, NFC_TYPE_5, MIFARE Number of remaining uses before this transaction (for access control)
ID of the terminal that processed the transaction
ISO 8601 timestamp when transaction occurred (defaults to now). Accepts both timezone-bearing (2026-06-02T12:13:14Z) and timezone-less (2026-06-02T12:13:14, treated as UTC) forms.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})?$External transaction reference or receipt number
255Loyalty points earned in this transaction
x >= 0Reason for transaction status (e.g., denial reason)
500Number of remaining uses after this transaction (for access control)
Payment details for the transaction
Custom data attached to the transaction. Only pos, posData, posRegisterId, posEftPosText, pspData, mcc, and lineItems are accepted — posData/pspData accept arbitrary JSON, everything else does not.
Transaction status
APPROVED, DENIED, FAILED, PENDING