Developers

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.

Release cadence: A new version is released annually. Version identifiers reflect the release year (e.g., v2026). When a new version is introduced, the prior version remains supported for a minimum of 12 months before retirement.

Base URLs

ServiceEnvironmentBase URL
EBPP APISandboxhttps://sbapi.orbipay.com/ebpp/{version}/
EBPP APIProductionhttps://api.orbipay.com/ebpp/{version}/
Hosted Web FormsSandboxhttps://sbapico.billerpayments.com/app/opco/{version}/, https://sbjsco.billerpayments.com/app/opco/{version}/
Hosted Web FormsProductionhttps://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:

ObjectiveDescription
Technology UpgradesSupport improvements, performance optimizations, and migrations to newer underlying systems.
Business & ComplianceAdjust to evolving partner requirements and compliance regulations.
PerformanceDeliver faster, more scalable, and more reliable APIs as infrastructure evolves.
SecurityAlign with the latest security standards and protocols.
ConsolidationEliminate 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:

HeaderTypeDescription
api_versionstringThe version that processed the request, e.g. v2026
deprecatedbooleantrue when the version is in deprecated status
removal_dateISO 8601 dateThe date after which this version returns HTTP 410
Recommendation: Monitor these headers proactively to track deprecation status.

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.

StageWhat happensWhat you should do
New version releasedThe 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.

ServiceIndependent version
EBPP APIsYes
WebhooksYes
Billing System IntegrationYes
Hosted Web FormsYes

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 metadataDescription
deprecated_sinceThe version in which the field was deprecated
remove_in_versionThe version in which the field will be removed
migration_noteGuidance 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

VersionStatusNotes
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.