Skip to main content
API errors use one predictable envelope:

Status codes

Universal response headers

Every success and error includes:
  • X-Request-Id: the exact request reference for logs and support.
  • X-API-Version: the date-versioned contract served by the endpoint.
  • X-RateLimit-Limit: the credential’s current per-minute allowance.
  • X-RateLimit-Remaining: calls left in the current window.
  • X-RateLimit-Reset: Unix seconds when the window resets.
  • Retry-After: seconds to wait after a 429.
Log the request ID, endpoint, status, error code, and your own operation ID. Do not log bearer credentials, full customer payloads, or webhook secrets.

Unknown outcomes

If the connection drops after a POST, treat the result as unknown rather than failed. Retry with the same Idempotency-Key. For POS transactions, send the same external_transaction_id as well.

Contacting support

Email support@perkstar.co.uk with:
  1. X-Request-Id;
  2. UTC timestamp;
  3. HTTP method and path;
  4. response status and error code; and
  5. the first 12-character key prefix shown in the dashboard.
Never include the full API key or personal customer data.