Developers · Orbit API

Build on Orbit.
API-first.

Award points, enroll members, redeem rewards, and read your catalogue from any backend with a single HTTP call. Every endpoint is API-key authenticated, scope-checked, and returns a consistent JSON envelope.

Get your API keysBase URL https://api.orbitloyalty.com/api/v1

Authentication

Every request needs your secret API key as a Bearer token. Keys are issued per store in the panel.

Authorization: Bearer lak_••••

Response envelope

Success and error responses share the same shape, with a request id and timestamp in meta.

{ success, data, meta }

Rate limits & scopes

Requests are throttled per API key and per store. Each key carries explicit scopes. A missing scope returns 403 forbidden; over-limit returns 429.

Endpoints

All paths are relative to https://api.orbitloyalty.com/api/v1.

Store
GET
/stores/{slug}/Store profile, theme & plan.store:read
GET
/stores/{slug}/offers/Currently active promotional offers.store:read
Members
GET
/stores/{slug}/members/Paginated member list.members:read
POST
/stores/{slug}/members/Enroll a member by email.members:write
GET
/stores/{slug}/members/{email}/Member balance & tier.members:read
Transactions
GET
/stores/{slug}/members/{email}/transactions/Recent transaction history.transactions:read
POST
/stores/{slug}/members/{email}/transactions/Award points, idempotent via order_id.transactions:write
Rewards
GET
/stores/{slug}/rewards/Active rewards catalogue.rewards:read
POST
/stores/{slug}/members/{email}/redeem/Redeem a reward for a member.rewards:write
Earn Codes
POST
/stores/{slug}/earn-codes/redeem/Redeem a single-use earn code.earn-codes:write
Catalogue
GET
/stores/{slug}/catalogue/Menu / product catalogue (?featured=true).catalogue:read

Award points: an example

award-points.js
// Award 500 points for an order. Safe to retry (idempotent by order_id)
const res = await fetch(
  `https://api.orbitloyalty.com/api/v1/stores/${slug}/members/${email}/transactions/`,
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      points: 500,
      title: "Purchase #1234",
      order_id: "ord_1234",
    }),
  }
)

// → {
//   "success": true,
//   "data": { "membership_id": "…", "points_awarded": 500, "new_balance": 2450 },
//   "meta": { "request_id": "a1b2c3d4", "timestamp": "…", "version": "v1" }
// }

Scopes

store:readmembers:readmembers:writetransactions:readtransactions:writerewards:readrewards:writeearn-codes:writecatalogue:read

Ready to integrate?

Create a store, generate an API key with the scopes you need, and award your first points in minutes.