Tapticks API.
Tickets as primitives.
A boring, predictable REST API for events, orders, tickets, and wallet passes. Bearer tokens, idempotent writes, JSON in and JSON out — the same rails that power every storefront on Tapticks.
$ curl https://api.tapticks.app/v1/events \ -H "Authorization: Bearer sk_live_…" { "object": "list", "has_more": false, "data": [ { "id": "evt_4Ywu2…", "name": "Reggae Sumfest 2026", "venue": "Catherine Hall", "starts_at": "2026-07-18T20:00:00-05:00", "status": "on_sale" } ] }
Bearer tokens. Two environments.
Every request carries a bearer token in the Authorization header. Sandbox keys never touch real money or live wallet passes. Rotate keys at any time — old keys keep working for a 30-minute grace window.
Fake payments. Wallet passes are watermarked. Webhooks fire normally.
Real money, real settlements. Issued after storefront verification.
/v1/events$ curl https://api.tapticks.app/v1/events \ -H "Authorization: Bearer sk_live_4ZqT…" \ -H "Tapticks-Version: 2026-05-01"
Missing or malformed tokens return 401 unauthorized. Tokens scoped to a different storefront return 403 forbidden.
Roll a key from the dashboard. Old key stays valid for 30 minutes so deploys land cleanly.
Optional per-key allow-list — pin live keys to your production egress ranges.
Read-only or write-scoped tokens for analytics jobs and partner integrations.
List, read, and create events.
An event is the top-level object — a show on a date at a venue. Events hold tiers, gates, and the inventory you'll sell against.
/v1/events$ curl https://api.tapticks.app/v1/events?limit=10 \ -H "Authorization: Bearer sk_live_…" { "object": "list", "data": [ { "id": "evt_4Ywu2", "name": "Reggae Sumfest 2026", "venue": "Catherine Hall, Montego Bay", "starts_at": "2026-07-18T20:00:00-05:00", "capacity": 32000, "sold": 18443, "currency": "JMD", "status": "on_sale" } ] }
Create orders with idempotent writes.
POST /v1/orders takes a fan reference, the line items, and a payment method. Pass an Idempotency-Key header to safely retry on network blips — duplicate requests return the original order.
/v1/ordersPOST /v1/orders Authorization: Bearer sk_live_… Idempotency-Key: ord_req_8t2… Content-Type: application/json { "event_id": "evt_4Ywu2", "fan": { "email": "asha@fanmail.jm", "phone": "+18761234567" }, "line_items": [ { "tier_id": "tier_vip_b", "quantity": 2 } ], "payment_method": "card" }
createdHTTP/1.1 201 Created { "id": "ord_Hx8q21", "event_id": "evt_4Ywu2", "status": "paid", "currency": "JMD", "total": 37000, "tickets": [ { "id": "tkt_91Aa", "tier": "VIP · B14", "wallet_pass_url": "https://wp.tapticks.app/…" }, { "id": "tkt_91Ab", "tier": "VIP · B15" } ], "created": 1747700400 }
Supported payment_method values: card, apple_pay, google_pay, mobile_money_jm.
Inspect, transfer, and void tickets.
A ticket is a single seat under an order. Transfers are first-class — move a ticket to a new fan by email or phone, and the wallet pass on the old device deactivates within a second.
/v1/tickets/{id}/transferPOST /v1/tickets/tkt_91Aa/transfer { "to": { "email": "jordan@fanmail.jm", "name": "Jordan B." }, "message": "See you at the gate." }
Apple Wallet & Google Wallet, in one call.
Tickets ship with a pass URL by default. If you want to mint a custom pass — partner artwork, an extra back-field, or a sponsor strip — call /v1/wallet/passes directly.
/v1/wallet/passesPOST /v1/wallet/passes { "ticket_id": "tkt_91Aa", "platform": "apple", "strip_image_url": "https://cdn.example/strip.png", "back_fields": [ { "label": "Gate", "value": "Gate 4 · West" } ] }
okHTTP/1.1 200 OK { "id": "pass_a31m", "platform": "apple", "install_url": "https://wp.tapticks.app/a/…", "refresh_ms": 250, "status": "ready" }
Passes refresh within 250ms when the underlying ticket changes — gate moves, set-time slips, or section swaps push live to every installed device.
Eight event types. Signed and retried.
We POST a JSON envelope to your endpoint with an HMAC-SHA256 signature in Tapticks-Signature. Non-2xx responses are retried with exponential backoff for 24 hours.
- order.created
Fired the moment payment captures. Includes line items, fees, and a fan reference.
- order.refunded
Full or partial refund settled to the original payment method.
- ticket.transferred
A fan moved one or more tickets to another account by email or phone.
- ticket.scanned
A door scanner validated the pass — includes gate, staff id, and timestamp.
- pass.installed
Apple Wallet or Google Wallet acknowledged the install on the fan's device.
- pass.scanned
NFC tap or QR read at the gate. Sent within 250ms of the scan event.
- event.rescheduled
An event date, gate, or set time changed — passes auto-refresh.
- payout.settled
Funds landed in your bank. Includes payout id and net amount in JMD or USD.
https://your-app.com/webhooks/tapticksPOST /webhooks/tapticks Tapticks-Signature: t=1747700400,v1=8a92… Content-Type: application/json { "id": "evt_whk_2k1p", "type": "order.created", "created": 1747700400, "data": { "id": "ord_Hx8q21", "event_id": "evt_4Ywu2", "total": 37000, "currency": "JMD" } }
Ship a checkout
before lunch.
Sandbox keys are free and instant. Live keys get issued the same day after storefront verification. No credit card required.