# Render custom-domains API over `App.spec.hosts[]`

Expose Render's custom-domains surface (`GET/POST /v1/services/{id}/custom-domains`, `DELETE /v1/services/{id}/custom-domains/{domain}` + GraphQL parity) as a thin bex-api layer over the existing `App.spec.hosts[]` (`docs/ADR005-custom-domain.md` — operator already reconciles Traefik + cert-manager). Verify shapes against Render's OpenAPI spec before building; include verification status (cert ready?) from App status if surfaceable.

UI half is `w5/004` (custom-domains section in service Settings) — promote both together when this lands. Likely milestone-sized once scoped (REST + GraphQL + MCP parity + tests); promote rather than build from this note.

Source: `/pm-brainstorm more milestones for w5` (2026-07-08). Goal: Render parity, pillar-1 API-first (API must exist before any dashboard surface).
