The basics of requests and responses (JSON)
Explains the request format, required headers, response structure, pagination, filtering, and date/time format rules of the ReceiptRoller API.
Webhook overview
Which webhook events are actually sent, what the request and signature headers look like, how duplicates, order and lost events behave, and when to use the API.
Setting the redirect URL
The role of the single redirect URI on a developer app, the exact-match rule, separating environments, changing it, and common errors.
Signature verification and security
How X-RR-Signature is computed, verification code for Node.js, Python and C#, guarding against replays, and how to replace a webhook secret.
Rate limiting and throttling
Which ReceiptRoller API endpoints limit requests and by how much, what a 429 looks like, and how to pace and retry your client's calls.
Cannot obtain a token (authentication error)
How to narrow down a 400 or 401 from the token endpoint, with the fix for each error and error_description, including invalid_client and invalid_grant.
OAuth Scopes Reference and Availability
A reference of all scopes available in the ReceiptRoller OAuth API and which kinds of apps each scope can be granted to. Also covers the review requirement for User scopes, why Store and User scopes can't be mixed, and how to use the API from a LIFF app.
API Authentication Guide
How to authenticate with the OAuth 2.0 authorization code flow: authorize parameters, the consent screen, token exchange and revocation, errors and scopes.
Using the Products API
How to list, read, create, patch, replace, soft-delete and upload cover images for products with the Products API (/api/v1/products), with exact field names.
Connect an AI agent to ReceiptRoller over MCP
Connect Claude as an MCP connector, then build your own MCP client with dynamic client registration, PKCE and JSON-RPC calls over HTTP.
Applying for review of User-scopes
For apps that handle general consumers' data (user.* scopes) on ReceiptRoller, this explains the review application flow, the documents to submit, the review criteria, the review period, and common reasons for rejection.
Managing the client ID and client secret
Where to find the client ID and client secret, how to store them, regenerating the secret after a suspected leak, and running several environments.
Error codes and retry guidance
The status codes and error body shapes the ReceiptRoller API returns, token endpoint errors, and which failures to retry and how.
Sync your product catalogue with ReceiptRoller
Build a Node.js script that reads a local CSV or JSON file, matches products by SKU, and creates or patches them through the Products API.
Creating a new app
How to register a developer app in a business account: the fields, how the credentials are shown, what you can do afterwards, and common stumbling points.
Receive new sales by webhook and post them to Slack
Register a receipt.created webhook, verify its signature and drop duplicates in Node.js, and post each new sale to a Slack channel.
Wallet App: Guide to Fetching a User's Receipts via OAuth
Explains how to fetch a user's Receipt Roller purchase receipts, with their consent, from a wallet-style app such as iOS, Android, or a LINE Mini App. Covers OAuth 2.0 authentication, the receipts API, and Webhook integration.
Purchase and receipt data integration
Explains the structure of the purchase and receipt data ReceiptRoller handles, how to retrieve it, related scopes, Webhooks, and common use cases.
Using the Reservations API
How to read, create, change, move and update the status of reservations, generate slots, and read menus, settings, tables and monthly counts.
Your first API call: from app registration to listing transactions
Get a token with the OAuth authorization code flow and PKCE, confirm the business account, list its transactions, and refresh the token.