unPLUGDevelopers

App API

Every endpoint your app, your website and the server behind them call to run loyalty for guests, grouped by what it's for. Each one lists who can call it, the request and response models, and examples in cURL, Node.js and Python.

Creating and running offers and challenges, adjusting points and reports happen in the unPLUG Dashboard, so they aren't here. To automate them from your own tools, see the Management API.

Productionhttps://api.unplugdining.com/v1uk_live_ keys
Sandboxhttps://sandbox.api.unplugdining.com/v1uk_test_ keys, connected to our Square sandbox
Formatapplication/jsonUTF-8, amounts in integer cents, times in UTC ISO 8601

Who can call what#

Every endpoint is marked with the credential it accepts.

Calls that create or change money or points need an Idempotency-Key header. Errors follow RFC 9457, lists use cursor pagination, and /v1 only gets additive changes (versioning). The full contract is in openapi.yaml. Almost every member token call also has a server version, for a server-to-server integration.

53 endpoints: 48 available at launch, 5 coming soon.

Basics#

Rules every request follows.

Identity#

Enroll guests, keep profiles in sync and give your app a short-lived token for one member.

Loyalty#

The program, a member's points history and the rewards in their wallet.

Checkout#

Apply rewards to a cart, hold one while the guest pays, credit points and handle refunds.

Challenges#

Show challenges, load progress and join opt-in challenges. Offers reach your app as codes and wallet items at checkout.

Engagement#

Register devices for push, fetch in-app messages and send app events for campaigns.

Webhooks#

Endpoints that receive events, and every event type unPLUG sends.

Testing#

Sandbox-only helpers for in-store orders, wallet items and test webhooks.