Endpoints and versioning
API
Endpoints
Versioning
URL structure
Who this article is for
For developers implementing against the ReceiptRoller API. Explains the endpoint URL structure and the approach to versioning.
For developers implementing against the ReceiptRoller API. Explains the endpoint URL structure and the approach to versioning.
Base URL
Production: https://api.receiptroller.io/v1 Staging: https://api-staging.receiptroller.io/v1
The OAuth authorization endpoints are on a separate host.
Authorize: https://receiptroller.io/oauth/authorize Token: https://receiptroller.io/oauth/token
URL structure
/v{version}/{resource}[/{ID}][/{subresource}]
Examples:
GET /v1/receipts ← list receipts
GET /v1/receipts/rcp_xyz123 ← individual receipt
GET /v1/receipts/rcp_xyz123/items ← a receipt's line items
POST /v1/products ← create a product
Versioning policy
- We use the URL path scheme (
/v1/...). We do not use a header scheme - Backward-compatible changes (such as adding a field) are made within the same version
- Breaking changes (removing a field, changing a type, changing a URL) are provided as a new version (
/v2) - After a new version is released, the old version runs in parallel for at least 12 months
Changes considered backward-compatible
- Adding a new field to a response
- Adding a new endpoint
- Adding an optional request parameter
- Adding a new code to an existing error code set
When implementing your client, building it to ignore unknown fields makes it easier to maintain compatibility.
Examples of breaking changes
- Removing or renaming an existing field
- Changing a field's type (string → number, etc.)
- Adding a required request parameter
- Changing the authentication scheme
- A large reduction in the rate limit
Deprecation notice and support period
| Phase | Period | Behavior |
|---|---|---|
| Normal | — | Works with no issues |
| Sunset notice | From 12 months before retirement | A Sunset header on the response |
| Deprecated | From 3 months before retirement | A Deprecation header is added |
| Retired | On or after the retirement date | 410 Gone |
Deprecation notices are communicated via the developer portal's "Announcements", email, and the Sunset header.
Checking the current version
The X-RR-Api-Version response header contains the version that processed the current request.
HTTP/1.1 200 OK X-RR-Api-Version: 2026-04-01 Content-Type: application/json
Related guides
Published: 2026-04-27
Updated: 2026-07-05
Category
Tags
API (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (6)
Troubleshooting (5)
api (5)
App registration (4)
POS Integration (4)
Reference (4)
Related articles
-
Using the Store Information APIA guide to the REST API for fetching and updating a store's basic information (store name, store type, contact details, and address). Lets you implement a store information editing screen from token-authenticated clients such as staff apps.
-
PosTransactionDto specification — field reference for transaction dataA complete field reference for PosTransactionDto, the canonical model for the transaction data ReceiptRoller handles. For each category — identifiers, dates, amounts, line items, payments, staff, status, and CRM linkage — it summarizes the field names, types, meanings, and how each POS vendor populates them. A reference for developers and external-system integrators. Also referenced from the Smaregi and Square mapping articles.
-
Purchase and receipt data integrationExplains the structure of the purchase and receipt data ReceiptRoller handles, how to retrieve it, related scopes, Webhooks, and common use cases.
-
Using the Business Hours APIA guide to ReceiptRoller's Business Hours API (/api/v1/stores/{storeId}/business-hours). Covers retrieving and updating per-day business hours, registering special business days (temporary closures and hour changes), configuring a store's workable hours (the upper bound for shift creation), and determining whether the store is currently open.
-
Using the Orders / OMS APIA guide to CRUD operations on the orders under a business account using ReceiptRoller's Orders / OMS API (/api/v1/orders). Covers creating, updating, transitioning status (confirm, process, cancel), and deleting orders, plus the flow for Android / iOS apps and server integrations.