Connect FidiPerks to your existing stack. REST API, real-time webhooks, booking widget connectors, and multi-location architecture — all production-ready.
A versioned, JSON-based API that covers every FidiPerks resource — customers, points, rewards, stores, analytics, and more.
Generate scoped API keys from your merchant dashboard. Each key has configurable per-hour rate limits and can be restricted to specific permission scopes (read-only, write, admin).
Full interactive documentation at /api/docs. Every endpoint documented with request/response schemas, examples, and error codes. Try calls directly from the browser.
All endpoints live under /api/v1/. Breaking changes are never introduced in-version — you get deprecation notices and a migration window before anything changes.
POST https://app.fidiperks.com/api/v1/points/credit Authorization: Bearer <your-api-key> Content-Type: application/json { "storeId": "store_abc123", "customerId": "cust_xyz789", "points": 50, "reason": "POS sale — order #4821" }
FidiPerks sends signed HTTPS POST requests to your endpoint whenever key loyalty events occur — no polling required.
Every webhook delivery includes an X-Webhook-Signature header. Verify the HMAC-SHA256 signature against your webhook secret to ensure authenticity before processing.
Failed deliveries are retried with exponential back-off (up to 5 attempts over 24 hours). Delivery status and response logs are visible in your merchant dashboard under Webhooks → Delivery History.
| Event | Trigger |
|---|---|
points.credited | Points successfully added to a customer's balance |
points.deducted | Points deducted via redemption or manual adjustment |
points.exhausted | Customer's points balance reaches zero |
reward.earned | Reward engine triggers a new reward for the customer |
reward.redeemed | Customer claims (redeems) an earned reward |
reward.expired | Unclaimed reward passes its expiry date |
customer.created | New customer registers at a store |
customer.updated | Customer profile updated (tier change, opt-out, etc.) |
subscription.activated | Store billing plan activates or upgrades |
subscription.cancelled | Store subscription is cancelled |
{
"event": "reward.earned",
"storeId": "store_abc123",
"timestamp": "2025-06-01T09:14:33.000Z",
"data": {
"customerId": "cust_xyz789",
"rewardId": "rwd_001",
"rewardName": "Free Coffee",
"earnedAt": "2025-06-01T09:14:33.000Z"
}
}
Embed booking and scheduling tools directly inside the FidiPerks loyalty app. Customers can earn rewards and book their next visit in the same experience.
Configure what happens when a customer completes a booking inside a widget:
Award points as if the customer physically checked in — ideal for bookings that represent a confirmed visit.
Immediately unlock a specific configured reward — useful for "book 5 appointments, get the 6th free" campaigns.
Define your own merchant-side logic via webhook. Receives the full postMessage payload at your configured endpoint.
Each store can configure up to 10 widgets. Maximum 5 callback rules per widget.
FidiPerks is built store-first — every store is an isolated unit that belongs to a shared loyalty network. Franchises and retail chains can offer a consistent customer experience across every location without coupling store data.
Each location has its own store ID, API keys, reward configuration, customer roster, and analytics. A customer's loyalty balance at Location A is separate from Location B — unless you explicitly configure a shared program.
Franchise groups can configure a unified programme where customers earn and redeem across all participating locations. One tap, one balance, one reward — regardless of which store they visit.
Head-office dashboards roll up customer engagement, redemption rates, and campaign performance across all locations. Drill into individual stores or view group-wide trends side-by-side.
Separate admin roles for head-office managers, regional managers, and individual store staff. Each role is scoped to the appropriate stores and data, enforced at the API level.
From zero to your first API call in under 10 minutes.
Head to admin.fidiperks.com. If you don't have an account yet, start with the free plan — no credit card required.
Go to Settings → API Keys → Create New Key. Choose your scopes (e.g. points:write, customers:read) and set a rate limit. Copy the key — it's only shown once.
Pass the key as a Bearer token: Authorization: Bearer <your-key>. Hit GET /api/v1/stores/<storeId> to confirm access. Full endpoint list at app.fidiperks.com/api/docs.
Go to Settings → Webhooks → Add Endpoint. Enter your HTTPS URL, select the events you need, and save. We'll send a test ping immediately. Verify the X-Webhook-Signature header in your handler.
Switch from the sandbox store to your live store ID. API calls are idempotent where it matters — the X-Request-ID header lets you safely retry without double-crediting points.
Our team can walk you through the API, review your architecture, and provide hands-on support for enterprise and franchise deployments.