Versioning and Deprecation Policy
This page explains how EBPP services are versioned, how breaking changes are introduced, and what you must do to keep your integration working as versions move through their lifecycle.
Overview
EBPP uses year based versioning: each service version is encoded into its URLs. This means you always know exactly which contract your integration targets, and changes to newer versions never silently affect your existing calls.
EBPP API
# v1 — context path /payments/
/payments/{version}/{resource}
# v2026+ — context path /ebpp/
/ebpp/{version}/{resource}
# Examples
GET /payments/v1/customers/{id}
GET /payments/v1/mpa/customers/{id}
GET /ebpp/v2026/customers/{id}
Hosted Web Forms
/app/opco/{version}/scripts/checkoutofsc.js
/app/opco/{version}/service/payments/token
# Examples
/app/opco/v2026/scripts/checkoutofsc.js
/app/opco/v2026/service/payments/token
Important: Each EBPP offering: APIs, Webhooks, Billing System Integration, and Hosted Web Forms are versioned independently. You can migrate one service at a time without a single all-or-nothing cutover.
v2026). When a new version is introduced, the prior version remains supported for a minimum of 12 months before retirement.
Base URLs
| Service | Environment | Base URL |
|---|---|---|
| EBPP API | Sandbox | https://sbapi.orbipay.com/ebpp/{version}/ |
| EBPP API | Production | https://api.orbipay.com/ebpp/{version}/ |
| Hosted Web Forms | Sandbox | https://sbapico.billerpayments.com/app/opco/{version}/, https://sbjsco.billerpayments.com/app/opco/{version}/ |
| Hosted Web Forms | Production | https://apico.billerpayments.com/app/opco/{version}/, https://jsco.billerpayments.com/app/opco/{version}/ |
Why Versions Are Deprecated
Versioning and eventual deprecation is a deliberate, structured process driven by the following objectives:
| Objective | Description |
|---|---|
| Technology Upgrades | Support improvements, performance optimizations, and migrations to newer underlying systems. |
| Business & Compliance | Adjust to evolving partner requirements and compliance regulations. |
| Performance | Deliver faster, more scalable, and more reliable APIs as infrastructure evolves. |
| Security | Align with the latest security standards and protocols. |
| Consolidation | Eliminate duplicate APIs by enforcing one API per function through proper lifecycle management. |
Version Lifecycle
Every versioned EBPP service passes through three stages:
| Stage | Duration | Description | Action required |
|---|---|---|---|
| Current | Until next annual release | Fully supported. All features available. No behavioral changes without a new version. | None |
| Deprecated | Minimum 12 months | A newer version has been released. Your existing calls still work and return normal responses. Response headers include deprecated: true and removal_date, indicating when the version will be retired. New features are not added to deprecated versions; only critical fixes may be applied. |
Plan and complete migration to the current version before the removal date. |
| End of Life | - | The version is retired. For EBPP APIs, requests return HTTP 410 Gone. | Migration must be completed before this date. There is no grace period after EOL. |
API response headers
All versioned EBPP API responses include the following lifecycle headers to help you monitor your integration's status:
| Header | Type | Description |
|---|---|---|
api_version | string | The version that processed the request, e.g. v2026 |
deprecated | boolean | true when the version is in deprecated status |
removal_date | ISO 8601 date | The date after which this version returns HTTP 410 |
Deprecation Timeline
Deprecation is tied to the release of a new version. When a new version becomes current, the previous version transitions to deprecated status and remains available for a defined support period before it is retired.
| Stage | What happens | What you should do |
|---|---|---|
| New version released | The new version becomes Current. The immediately prior version is marked Deprecated. | Plan your migration to the new version. |
| Deprecated support window (minimum 12 months) | The deprecated version remains fully operational and continues to return normal responses, but no new features are added. Response headers indicate deprecation status and the planned retirement date. | Complete migration during the support window (do not wait until the end). |
| End of Life (EOL) | The deprecated version is retired; all requests return HTTP 410 Gone. | You must be fully migrated before the EOL date. |
The EOL (removal) date is published in release notes and also returned in the removal_date response header.
Service-Level Versioning
Versioning is maintained per service, giving you flexibility to migrate in phases.
| Service | Independent version |
|---|---|
| EBPP APIs | Yes |
| Webhooks | Yes |
| Billing System Integration | Yes |
| Hosted Web Forms | Yes |
Recommended migration order: APIs, then Webhooks, then Billing System Integration, then Hosted Web Forms.
API Error Responses
HTTP 410 - End of Life
Returned when you call a retired EBPP API version.
HTTP/1.1 410 Gone
Content-Type: application/json
{
"errors": [{
"code": "error_api_version_retired",
"message": "The requested api version is no longer supported."
}]
}
HTTP 426 - Upgrade Required
Returned when the requested EBPP API version is below the minimum supported version for your account.
HTTP/1.1 426 Upgrade Required
Content-Type: application/json
{
"errors": [{
"code": "error_api_version_not_supported",
"message": "The requested version does not meet the minimum supported version for this account."
}]
}
Deprecated Fields
When individual fields within an API are deprecated rather than an entire version. The API schema includes structured metadata to guide migration:
| Schema metadata | Description |
|---|---|
deprecated_since | The version in which the field was deprecated |
remove_in_version | The version in which the field will be removed |
migration_note | Guidance on the replacement field or approach |
Migration Support
During a version's support period:
- Deprecated endpoints continue to function as documented.
- Security patches are applied throughout the support window; bug fixes may be limited.
- Migration guides are published alongside each new version release.
- If you require extended migration timelines, contact your account representative.
For questions or assistance, please contact support.
Version History
| Version | Status | Notes |
|---|---|---|
v2026 |
Upcoming | Release date: July 14, 2026. |
v1 (SPA) |
Current | Fully supported | Deprecation start date: July 14, 2026 | EOL: TBD. |
v1 (MPA) |
Current | Fully supported | Deprecation start date: July 14, 2026 | EOL: July 13, 2027. |





