Home / Resources / API reference

The Payana API.

REST + webhooks for White-label operators who want Payana inside their own systems. JSON in, JSON out, no surprises.

API access is a White-label plan feature. Keys are issued per workspace in Settings → API. See the plan or talk to us about your integration.

Authentication

Every request carries a bearer token. Keys are scoped read-only or read-write, and can be rotated without downtime (old key stays valid for 24h).

curl https://api.payana.today/v1/trips \ -H "Authorization: Bearer pay_live_••••••••••••" \ -H "Content-Type: application/json"

Base URL is https://api.payana.today/v1. Rate limit: 120 requests/minute per key; responses include X-RateLimit-Remaining.

Resources

Trips

GET/tripsList trips · filter by status, date range
GET/trips/{id}Full trip: itinerary, travelers, balances
POST/tripsCreate a trip (draft)
PATCH/trips/{id}Update status, dates, itinerary days

Leads

GET/leadsList pipeline leads by stage
POST/leadsPush a lead from your own form or CRM
PATCH/leads/{id}Move stage, assign, set value

Customers

GET/customersDirectory with trip history
POST/customersCreate or upsert by phone number

Documents & payments

POST/trips/{id}/documentsGenerate itinerary PDF / invoice / voucher
POST/trips/{id}/payment-linksCreate a Razorpay link for advance or balance
GET/trips/{id}/ledgerPayments, refunds, GST & TCS lines

Webhooks

Register an HTTPS endpoint in Settings → API → Webhooks. Events are signed with an HMAC header (X-Payana-Signature) and retried with backoff for 24 hours.

EventFires when
lead.createdA new enquiry lands from any channel
lead.stage_changedA lead moves across the pipeline
trip.confirmedA trip flips to Confirmed (first payment or manual)
payment.receivedA Razorpay link is paid or a manual payment is recorded
document.generatedA PDF/invoice/voucher is produced (includes signed URL)
itinerary.updatedA published itinerary changes (app already synced)
// payment.received payload (abridged) { "event": "payment.received", "trip_id": "KER-1042", "amount": 96000, "currency": "INR", "method": "upi", "balance_remaining": 0, "received_at": "2026-06-12T11:42:08+05:30" }

Versioning & support

  • Versioned path (/v1) — breaking changes only ever arrive as /v2, with 12 months of overlap.
  • Changelog entries tagged API announce additions — see the changelog.
  • Sandbox: every workspace gets a test key (pay_test_…) that writes to an isolated sandbox.
  • Integration questions go to api@payana.today — answered by engineers.

Building something on top?

Tell us what you're integrating — we'll get you a sandbox key and a direct line to the engineers.