VoilaTier VoilaTier
Developers

An API your engineers
will actually like.

REST + GraphQL with idempotency keys, ramping rate limits, native SDKs in five languages, and webhooks that don't drop. SOC 2 Type II, deterministic and well-documented.

Earn points · 4 lines

A typed, idempotent, well-shaped API. Send a transaction, get back the customer's updated tier, points balance, and any rewards triggered — in one round trip.

P95 · 78ms · earn endpoint 99.99% · uptime
node.js python ruby go curl
⌘ C
// Earn points on a transaction
const { customer, rewards } = await voilatier.earn({
  customer: "cust_01HXQ8R3M7TZ2PN9",
  amount: 52.40,
  currency: "USD",
  location: "loc_mission_bay",
  idempotency_key: "ord_4782",
});

console.log(customer.tier);    // "Insider"
console.log(customer.points);  // 2840
console.log(rewards);          // [{ id: "rwd_…", type: "free_pastry" }]
P95 · 78msearn endpoint latency
4.2Bevents / month
5native SDKs
120+webhook event types
Reference

Core endpoints.

All endpoints versioned, idempotent, and rate-limited per workspace. JSON in, JSON out.

POST/v3/customersCreate or upsert a customer profile.v3 · stable
GET/v3/customers/:idFetch full profile including tier, points, predictions.v3 · stable
POST/v3/transactionsRecord a transaction. Triggers earn rules & tier evaluation.v3 · stable
POST/v3/rewards/:id/redeemRedeem a reward. Returns redemption proof & receipt copy.v3 · stable
GET/v3/segments/:id/membersStream segment membership · cursor-based pagination.v3 · stable
POST/v3/journeys/:id/enrollEnroll a customer in a journey at a specific node.v3 · stable
POST/v3/passesIssue an Apple/Google Wallet pass for a customer.v3 · stable
PUT/v3/tiers/rulesUpdate tier qualification rules (versioned, audited).v3 · stable
POST/v3/ai/campaigns/draftAsk VoilaTier AI to draft a campaign from a brief.v3 · beta
GET/v3/events:streamReal-time event stream (Server-Sent Events).v3 · stable
SDKs

Five languages.
One mental model.

Generated from our OpenAPI spec, hand-polished, semver-stable. Typed everywhere it matters.

JSJavaScript / TS
npm i @voilatier/node
v3.4.1 · MIT
PyPython
pip install voilatier
v3.4.0 · MIT
RbRuby
gem install voilatier
v3.3.2 · MIT
GoGo
go get voilatier.com/go
v3.4.1 · Apache 2
SwSwift
.package "voilatier-swift"
v2.8.0 · MIT
KtKotlin
com.voilatier:android
v2.8.0 · MIT
cliVoilaTier CLI
brew install voilatier
v1.4.0 · MIT
GqGraphQL
/v3/graphql endpoint
v3 · stable
Webhooks

Events that don't drop.

120+ event types across customers, transactions, tiers, rewards, journeys and AI predictions. Signed payloads, automatic retries with exponential backoff, and a 7-day replay window from the dashboard.

  • HMAC-signed, with timestamp window
  • Exponential retries · up to 7 days
  • Filter rules & multiple endpoints per workspace
customer.tier.upgraded
payload
{
  "id": "evt_01HZK4M…N9",
  "type": "customer.tier.upgraded",
  "created": "2026-04-12T18:42:11Z",
  "data": {
    "customer_id": "cust_01HXQ8R3…",
    "from_tier": "premier",
    "to_tier": "insider",
    "reason": "qualifying_spend",
    "effective_at": "2026-04-12T18:42:11Z"
  },
  "signature": "v1=8a3f…c721"
}

Read the docs.

API reference, guides, recipes and a public Postman workspace.