Versioning & Changelog
How the API is versioned, what counts as a breaking change, and the current release history.
How versioning works
The API version is a date string (e.g. 2026-09-29), returned in every response's x-rebatepay-version header; paths always live under /api and the prefix itself doesn't change. There is currently a single active version — no version negotiation or multiple concurrent versions yet.
What counts as breaking
These are breaking changes — they'll be announced ahead of time with a migration note before shipping:
- Removing an existing field, or changing its type or meaning
- Removing an existing endpoint, or changing its required parameters
- Changing what an existing error code means
- Changing the default behavior of pagination, sorting, or filtering
These are not breaking changes and can happen at any time — don't build code that assumes they won't:
- Adding a new response field (existing fields unaffected)
- Adding a new endpoint or scope
- Adding a new error code (existing codes behave the same)
- Rewording
error.message/error.nextActiontext
Deprecation policy
The product is still Sandbox-only, so no endpoint has been deprecated yet. Once Production opens and the API starts evolving, deprecated endpoints/fields will keep working for at least an announced window and be flagged as deprecated in responses rather than being shut off outright.
Changelog
| Date | Change |
|---|---|
2026-09-29 | Current API version. Breaking changes: paths are now /api/{Resource}[/{resourceId}][/{Action}] (e.g. /api/PaymentLink, /api/Subscription/{subscriptionId}/Cancel) and the old /v1/... paths are gone; updates use PUT; lists take page / pageSize / orderBy / orderDirection / createdFrom / createdTo and return totalCount and totalPages; success is { data } and failure { error }; enum values are PascalCase; webhook events use createdAt instead of created; console and wallet APIs use JWT + refresh tokens. |
2026-08-30 | First API version (/v1, replaced by 2026-09-29). |
ReBate Pay Docs