# API Coverage — Phase 11 (Centrifugo, Typesense, Web Push services) > Full coverage by default. Opt-outs are explicit, reasoned decisions. The PHP clients being ported (websockets `CentrifugoClient`, Scout `TypesenseEngine`, the websockets push block) define the baseline; D-12 and D-19 make both clients hand-rolled on net/http. ## Centrifugo server HTTP API (outbound, plan 11-03 and 11-04) | capability | decision | reason | |---|---|---| | publish | INTEGRATE | | | broadcast | INTEGRATE | | | presence | INTEGRATE | | | unsubscribe | INTEGRATE | | | info | INTEGRATE | | | presence_stats | OPT-OUT | not in the PHP CentrifugoClient contract and no Phase 11-15 consumer | | history | OPT-OUT | not in the PHP CentrifugoClient contract; the Nuxt client does not use history recovery | | history_remove | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer | | channels | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer | | disconnect | OPT-OUT | not in the PHP CentrifugoClient contract; token revocation is not part of the port | | refresh | OPT-OUT | not in the PHP CentrifugoClient contract; connection tokens expire by exp as in PHP | | subscribe (server-side) | OPT-OUT | not in the PHP CentrifugoClient contract; clients subscribe through the subscribe proxy | | batch | OPT-OUT | not needed; PHP sends one request per publish or broadcast | ## Centrifugo proxy and token contract (inbound and signed, plan 11-03) | capability | decision | reason | |---|---|---| | subscribe proxy | INTEGRATE | | | connection token (HS256) | INTEGRATE | | | subscription token (HS256) | INTEGRATE | | | anonymous and identifier tokens | INTEGRATE | | | connect proxy | OPT-OUT | explicitly out of scope — PHP authenticates connections with JWTs, not a connect proxy | | refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server | | publish proxy | OPT-OUT | explicitly out of scope — clients never publish; the server publishes through the HTTP API | | sub_refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server | | rpc proxy | OPT-OUT | explicitly out of scope — the Nuxt client makes no Centrifugo RPC calls | ## Typesense API (outbound, plan 11-05) | capability | decision | reason | |---|---|---| | collection retrieve | INTEGRATE | | | collection create | INTEGRATE | | | collection delete (flush) | INTEGRATE | | | documents import upsert | INTEGRATE | | | document delete | INTEGRATE | | | documents search | INTEGRATE | | | multi_search | OPT-OUT | not needed — Scout issues single-collection searches | | delete documents by filter | OPT-OUT | not needed yet — Phase 14 reindex (SRCH-02) decides its own flush strategy | | collection update (schema alter) | OPT-OUT | not needed — schema changes go through reindex, as in PHP | | aliases | OPT-OUT | not needed yet — the legacy-index drop belongs to Phase 14 SRCH-02 | | synonyms and curation overrides | OPT-OUT | not used by the PHP app | | API keys management | OPT-OUT | explicitly out of scope — keys are operator-provisioned | | health and metrics | OPT-OUT | not needed — sync failures are logged per request and never block writes | ## Web Push service protocol (outbound, plan 11-04) | capability | decision | reason | |---|---|---| | send notification (RFC 8030 push with RFC 8291 payload and RFC 8292 VAPID) | INTEGRATE | | | message urgency and topic headers | INTEGRATE | | | receipts (push message receipts) | OPT-OUT | not needed — PHP never requested receipts and push services rarely support them | | subscription management (store and prune) | OPT-OUT | explicitly out of scope — subscriptions come from an app-provided SubscriptionSource (user decision 3); Płytarium has no store |