Emite tarjetas wallet y entradas desde tu propio software. Dos pequeñas APIs JSON, una clave, sin SDK.
Every request carries your business's API key in the X-Api-Key header. The key lives in your
dashboard: Members page (membership businesses) or Events page (ticket businesses). Keep it
server-side — never in a mobile app or public website source.
X-Api-Key: hsk_your_key_here Content-Type: application/json
Base URL: https://hasalti.com · All bodies are JSON · Rate limit ≈60 writes/min per IP (HTTP 429 beyond).
Sync your management software with the wallet card in your member's pocket: create members, renew terms, read live status. Renewals update the card on the member's phone within seconds.
POST https://hasalti.com/api/partner/members
{
"tenant": "your-business-slug",
"name": "Sara Ali",
"phone": "0790000000",
"months": 12 // optional — TOTAL first term (default: your plan's term)
}
→ 201
{
"ok": true,
"serial": "YOURBIZ-AB12CD",
"appleUrl": "https://hasalti.com/p/YOURBIZ-AB12CD.pkpass?t=…",
"googleUrl": "https://pay.google.com/gp/v/save/…"
}
Send appleUrl / googleUrl to the member (SMS, email, or your app) —
one tap adds the card to their wallet.
POST https://hasalti.com/api/partner/members/renew
{
"tenant": "your-business-slug",
"phone": "0790000000", // or "serial": "YOURBIZ-AB12CD"
"months": 1 // optional — default: your plan's term
}
→ 200 { "ok": true, "serial": "YOURBIZ-AB12CD", "membership": { "active": true, "untilDate": "2027-08-26" } }
GET https://hasalti.com/api/partner/members/YOURBIZ-AB12CD
→ 200
{
"ok": true, "serial": "YOURBIZ-AB12CD", "name": "Sara Ali", "phone": "0790000000",
"active": true, "until": 1787000000, "untilDate": "2027-08-26"
}
Issue wallet tickets from your own website, box office, or POS. Each issued ticket consumes one prepaid credit (25¢); when an email is given, the guest receives their Add-to-Wallet links automatically.
POST https://hasalti.com/api/partner/tickets
{
"showId": "yourbiz-EV12345", // from your Events dashboard
"name": "Adam Brown",
"email": "adam@example.com" // optional — enables auto-delivery
}
→ 201 { "ok": true, "serial": "YOURBIZ-TK9XYZ", "appleUrl": "…", "googleUrl": "…", "emailed": true }
| Code | Meaning |
|---|---|
| 400 | Missing or invalid field (name, phone, tenant…) |
| 401 | Missing or wrong X-Api-Key |
| 402 | Limit reached — member cap (capReached) or out of ticket credits (noCredits) |
| 403 | Account on hold (billing) |
| 404 | Unknown tenant, member, or show |
| 409 | Show sold out |
| 429 | Rate limited — retry with backoff |
We integrate alongside your existing software — we never replace it. Write to hello@hasalti.com and an engineer answers.