Status Page API

Programmatically consume Pluggy's public status page — connector health, incidents and infrastructure components.

Overview#

Pluggy's status page at connector-status.pluggy.ai shows the live health of every connector, payment product and infrastructure component, plus incident history. Everything the page renders comes from a single public JSON snapshot you can consume directly — no authentication required.

If you just want notifications, you don't need this API: subscribe by email on the status page, add the Pluggy Status Slack app to a channel, or use the RSS feed.

The snapshot endpoint#

GET https://docs.pluggy.dev/api/status
  • No authentication. CORS is open, so you can call it from a browser app.
  • Cached for ~30 seconds. Poll at 60 seconds or slower — faster polling only re-reads the cache.

The response contains four collections:

FieldWhat it holds
institutionsEvery connector with its current status, 90-day history and product support flags
incidentsOpen incidents and everything resolved in the last 90 days, with their update timelines
componentsInfrastructure components (API, Webhooks, Connect Widget, …) and their current status
productStatusManual per-institution status overrides for payment products

Institutions#

{
  "pluggy_id": "601",
  "name": "Itaú",
  "type": "PERSONAL_BANK",
  "logo_url": "https://cdn.pluggy.ai/assets/connector-icons/201.svg",
  "status": "online",
  "bars": "ooooooo…dxo",
  "uptime": 99.51,
  "supports_data": true,
  "supports_pis": true,
  "supports_pis_scheduled": true,
  "supports_pix_auto": true,
  "supports_smart_transfer": true
}
  • pluggy_id is the same connector id you use everywhere else in the Pluggy API — match on it directly.
  • status is one of online, degraded, offline, maintenance.
  • bars encodes the last 90 days as one character per day, oldest first: o online, d degraded, p partial outage, x offline, m maintenance.
  • uptime is a weighted 90-day percentage (degraded days count 25% downtime, partial 50%, offline 100%).
  • The supports_* flags tell you which products the institution offers (data, payment initiation, scheduled payments, automatic PIX, smart transfers).

Example — check one connector's health:

curl -s https://docs.pluggy.dev/api/status \
  | jq '.institutions[] | select(.pluggy_id == "601") | {name, status, uptime}'

Incidents#

{
  "id": "4a8f1e80-…",
  "kind": "incident",
  "product": "pis",
  "pluggy_id": "612",
  "institution_name": "PagBank",
  "severity": "degraded",
  "state": "identified",
  "apis": ["Criação de pagamento"],
  "started_at": "2026-07-07T14:28:21Z",
  "resolved_at": null,
  "postmortem": null,
  "updates": [{ "state": "identified", "body": "…", "created_at": "…" }]
}
  • An incident is open while state != "resolved".
  • product is one of dados, pis, pis-agendado, pixauto, smart, infra (legacy incidents may carry pagamentos, which maps to pis).
  • kind is incident or maintenance; maintenances carry window_starts_at / window_ends_at.
  • Connector-scoped incidents include pluggy_id, so you can join them against your own connector list.
  • Every incident has a shareable page at https://connector-status.pluggy.ai/incident/<id>.

Example — open incidents affecting a connector you use:

curl -s https://docs.pluggy.dev/api/status \
  | jq '.incidents[] | select(.state != "resolved" and .pluggy_id == "612") | {title, state, severity}'

Embeddable widget#

Show Pluggy's live status inside your own app or internal dashboard.

Floating badge — one script tag, renders a small pill (status dot + label) in the corner of the page, linking to the status page. Refreshes every 60 seconds.

<script
  src="https://connector-status.pluggy.ai/widget.js"
  defer
  data-lang="en"
  data-position="bottom-right"
></script>
  • data-lang: pt (default), es or en.
  • data-position: bottom-right (default) or bottom-left.
  • data-target: a CSS selector — renders the badge inline inside that element instead of floating.

Iframe panel — a compact panel with overall status, infrastructure components and open incidents:

<iframe
  src="https://connector-status.pluggy.ai/embed?lang=en"
  width="360"
  height="240"
  style="border: 0"
  title="Pluggy Status"
></iframe>

Summary endpoint — both are backed by a tiny JSON summary you can also consume directly (CORS open, cached ~30s):

GET https://connector-status.pluggy.ai/api/widget
{
  "status": "op",
  "labels": { "pt": "…", "es": "…", "en": "All systems operational" },
  "openIncidents": 0,
  "updatedAt": "2026-07-10T12:00:00.000Z"
}

status is op (operational), mn (maintenance), dg (degraded), pt (partial outage) or mj (major outage) — the worst across connectors, payment products and infrastructure.

Other channels#

ChannelHow
EmailSubscribe on the status page — pick specific products or everything; double opt-in, one-click unsubscribe
SlackInstall the Pluggy Status app from the page's subscribe dialog, or invite @Pluggy Status to a channel and enable it
RSShttps://connector-status.pluggy.ai/rss — last 50 incidents with their timelines
WebhooksFor connector status changes affecting your items, prefer the standard Pluggy webhooks (connector/status_updated)