telephony_provider_unsupported
The account names a carrier this build registers no adapter for. Raised by adapter_factory_for (apps/control-api/src/vocapable_control/telephony_resolution.py), the ADAPTER_FACTORIES lookup that is the dispatch since 2026-08-20 - it replaced the single account.provider != TWILIO_PROVIDER comparison that used to be the whole of it, and the detail is byte-identical to what that comparison raised. Now reached from resolve and from the two onboarding reads alike, so an account naming an unregistered carrier is refused rather than built against the incumbent's adapter with another carrier's credentials - which failed as an authentication error and read as a rotated token. The refusal names the account's provider and the registered set; the code comment that named a candidate vendor is gone (adr/0030-carrier-neutrality-and-the-conformance-gate.md decision 3, amended 2026-08-20).
Problem shape
Every non-2xx response is an RFC 9457 application/problem+json body. The type URI below is stable and machine-matchable, so branch on the final path segment (the code) and treat the status as redundant confirmation. See the error-handling guide.
{
"type": "https://docs.vocapable.com/errors/telephony_provider_unsupported",
"title": "…",
"status": 503,
"detail": "…",
"instance": "/v1/…"
}