Puerta del upgrade a WebSocket: exige Bearer y la admisión comprueba Origin y los topes de conexiones. El upgrade lo hace el transporte WS sólo si esta ruta dejó pase. Acceso: Bearer de identity con policy `authenticated`.
Puerta del upgrade a WebSocket: exige Bearer y la admisión comprueba Origin y los topes de conexiones. El upgrade lo hace el transporte WS sólo si esta ruta dejó pase.
Acceso: Bearer de identity con policy authenticated.
bearerAuth Access token de identity-svc (JWT EdDSA, caducidad corta). Se verifica en local y después contra la sesión viva (revocation-aware).
In: header
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/ws"{ "upgrade": "websocket"}Componente, versión, tren y commit del binario que corre GET
Anterior
sources-svc
Autoridad de SourceBinding de styx: registro de fuentes, disponibilidad y entradas de selección. La resolución va sólo por el bus (qry.sources.resolve, autenticado por spire); por HTTP sólo expone la sonda de vida. ## Errores Todo error es un Problem Details (RFC 9457) servido como `application/problem+json`, con `type`, `title`, `status` y un `code` estable. Los errores de dominio añaden `retryable` y `category` (`transient`, `permanent` o `recoverable`). Los de framework son `400 parse` (JSON roto), `404 not-found` (ruta inexistente) y `422 validation` (con `on`; `property` y `detail` sólo fuera de producción). Las denegaciones del Bearer son `401 unauthenticated` o `reauth-required`, `403 forbidden` y `429 rate-limited` (con `Retry-After`). Ningún problem repite el valor recibido y un recurso de otro actor responde 404, sin oráculo.