Begin the sign-in to the DNS provider for a connection
Rail C (flagship). Returns the URL the widget opens in a popup, bound to an HMAC-signed single-use state. The provider redirects back to /v1/connect/oauth/callback, which writes the connection's records with what the provider handed over. flow says which sign-in runs: oauth2 (authorization code with PKCE S256; for Google Cloud DNS, Sign in with Google Cloud, whose callback first finds the Google Cloud project that holds the domain's public zone; for Azure DNS, a Microsoft sign-in whose callback first finds the Azure subscription and resource group that hold it), vercel_integration (the CustomDomain™ integration's install page; the user picks the Vercel team that owns the domain), porkbun_handoff (Porkbun's PKCE API key handoff: the user approves a key named after the domain; no client registration is needed), ovh_consent (an OVHcloud consumer key limited to the domain's DNS zone, validated on OVHcloud's page for the chosen region) or mcp_oauth (OAuth through the provider's hosted MCP server, for Hostinger, Unstoppable Domains, XServer, Namecheap, Spaceship and Dynadot: the endpoints are discovered from the server's metadata, the client is one the control plane registered for itself, and the records are written through the server's DNS tools; offered only for the providers the deployment lists in MCP_SIGNIN_PROVIDERS). The credential is used for that write and dropped, unless the deployment keeps grants for this provider (OAUTH_MANAGED_PROVIDERS with GRANT_ENCRYPTION_KEY), in which case managed is true and it is stored encrypted for :reapply.
A widget JWT starts the sign-in for its own application's connections (a domain-bound token for its own domain only); an API key for a connection of any application in its tenant, and a member's key needs a role that operates apps.
Request
- Base URL: https://api.customdomain.ai/v1
- URL: https://api.customdomain.ai/v1/connections/{id}/oauth:start
- Auth: one of:
- HTTP bearer
- HTTP bearer
Path parameters
Request body
Response
The URL to open, and what it runs
Changes
No recorded changes to this operation across all 1 revision of this API.