# Payment connections are addressed by id

The `{provider}` path segment becomes `{connection_id}` on nine payment-connection paths. The old paths are gone, with no coexistence window.

Sep 6, 2026 · Breaking

A provider slug does not name a connection: one NIF can hold **several** connections with the same provider — one per external account within an environment — so the old path picked one of them ambiguously whenever there was more than one. The identifier names it without ambiguity, and `GET /v1/companies/{company_id}/payment-connections` returns it.

Eleven operations over nine paths move. There is no coexistence window: keeping the ambiguous form alive is keeping the bug.

## What else changed

- **The substitution is mechanical**: `/payment-connections/{provider}/…` becomes `/payment-connections/{connection_id}/…`. Take the id from the connections list and use it where you used the slug.
- **It applies to the whole subtree**: the connection itself (`PATCH`, `DELETE`), its events list and detail, and the event actions `retry`, `draft`, `resolve`, `discard` and `restore`.
- **Two of those operations were retired days later** — see [the payments cleanup](/changelog#payments-cleanup) for which and why.

## Endpoints

- `GET /v1/companies/{company_id}/payment-connections` — Returns the connection_id you now address
- `PATCH|DELETE /v1/companies/{company_id}/payment-connections/{connection_id}` — Replaces the {provider} form
- `GET /v1/companies/{company_id}/payment-connections/{connection_id}/events` — Replaces the {provider} form

## Where to go next

- [List payment connections](/payment-connections/listCompanyPaymentConnections)
- [List payment events](/payment-events/listCompanyPaymentEvents)

---

Full OpenAPI spec: https://docs.beel.es/api/openapi