availabilityin the method catalogs — decide at render time whether to show, warn about or hide a corridor.corridor_status_changedwebhook — get pushed the moment a corridor changes state, without polling.- Public status page — a hosted, branded page (HTML + JSON) you can link from your app or your own status tooling.
The monitor is observability, not a gate: a
down corridor does not
block your requests. You stay in control — you can keep sending (requests
will fail with the usual error codes and refunds apply as always) or pause
that corridor in your UI until it recovers.Corridor states
Transitions are governed by hysteresis: a single timeout never declares an
outage, and recovery requires a sustained stable window — the state you read
is meaningful, not noisy.
1. Availability in the method catalogs
GET /v1/payouts/methods and GET /v1/payins/methods now include an
additive availability field per corridor. The rest of the shape is
unchanged.
operational — the monitor
only persists what it has observed.
2. The corridor_status_changed webhook
Subscribe your endpoint to the corridor_status_changed event
(webhooks guide) and you will receive every transition the
moment it happens — outage and recovery:
The event is a broadcast: it is not tied to one of your operations, so it
carries no
account_id. Idempotent consumption applies as with every webhook
(dedupe by delivery id).
3. Public status page
Your organization has a hosted status page with the live state of every corridor, the uptime of the last 90 days and the incident history. It is public (no auth), branded with your organization’s identity and safe to share with your own customers.- HTML:
GET /status/{orgToken}— a self-contained page you can link or embed. - JSON:
GET /v1/status/{orgToken}— the same data for your own status tooling or monitors.
orgToken is an opaque token your operator shares with you (org admins
can read it as status_page_url in GET /v1/org/branding).
An unknown or malformed token returns
404 — the token does not reveal
whether an organization exists. The endpoint is rate-limited per IP.
FAQ
Does a down corridor reject my requests?
Does a down corridor reject my requests?
No. The monitor never blocks dispatches. A
down corridor means new
operations are very likely to fail with the usual error codes
(channel_unavailable, provider rejection, timeout states) — failed
operations are refunded exactly as always. Use availability to decide
what to show in your UI.How fast is an outage detected?
How fast is an outage detected?
The monitor evaluates continuously, combining every real dispatch with
periodic active health checks, so outages are typically detected within
a few minutes even on corridors with little traffic. Hysteresis prevents
a single timeout from flapping the state.
Do I need to poll the catalogs to track availability?
Do I need to poll the catalogs to track availability?
No — subscribe to
corridor_status_changed and you will be pushed every
transition. The catalogs are a convenient snapshot for render time; the
webhook is the change feed.What happens to operations in flight when a corridor goes down?
What happens to operations in flight when a corridor goes down?
They resolve on their own: each operation reaches a final state
(
completed or failed with refund) through the usual webhook and
reconciliation machinery. You never need to re-send — retrying with the
same idempotency_key is always safe.Can I white-label the status page?
Can I white-label the status page?
Yes. The page uses your organization’s branding (logo, colors, name)
automatically — the same configuration used by receipts and hosted pages.
Ask your operator for your organization’s status page URL, or read it
from
GET /v1/org/branding if you are an org admin.Why don't I see which provider is behind an incident?
Why don't I see which provider is behind an incident?
By design the platform is provider-agnostic: corridors are identified by
country, currency and method only. Incident reasons are normalized and
never include internal channel identities.