CustomDomain Connections API

The connect pipeline for one customer domain, across all four rails.

GitHub OpenAPI

Operations 31

POST /connections Create a domain connection (idempotent per app + domain) #
GET /connections List connections #
GET /connections:count Count the tenant's connections (no rows) #
GET /connections/{id} Get a connection with its authoritative record set #
PATCH /connections/{id} Change a domain's client name, www redirect or forwarding #
DELETE /connections/{id} Remove a domain, removing or keeping the DNS records we added #
GET /connections/{id}/removal What removing a domain would do with its DNS records #
GET /connections/{id}/certificate The domain's certificate, its renewal and its history #
GET /connections/{id}/services The CustomDomain™ services the domain uses #
GET /connections/{id}/events The domain's timeline #
GET /services:summary How many domains use each service, per application and workspace #
GET /connections:lookup Find your connection for a domain #
POST /connections/{id}:disconnect Remove a domain, optionally authorizing the record removal once with a key #
GET /connections/{id}/diagnose What public DNS shows for each record, and what is left to do #
GET /connections/{id}/records Authoritative desired DNS record set for a connection #
PUT /connections/{id}/records Supply the connection's desired DNS record set #
PUT /connections/{id}/end-user-email Leave the end user's email address on a connection #
DELETE /connections/{id}/grant Turn managed mode OFF without disconnecting #
POST /connections/{id}/apply Write a connection's records through the customer's provider (BYO token, used… #
POST /connections/{id}:reapply Re-apply a managed connection's desired records (async one-click, no re-consent) #
POST /connections/{id}:recheck Check a connection's DNS now, and report what public DNS answered #
POST /connections/{id}:retarget Move a domain to its application's current routing, or back to the edge #
POST /connections/{id}/oauth:start Begin the sign-in to the DNS provider for a connection #
GET /connect/oauth/callback OAuth redirect target (public; authenticated by the signed state) #
GET /connect/dc/callback Async one-click setup redirect target (public; authenticated by the signed… #
GET /connect/dc/return/{state} One-click sync return (public; authenticated by the signed state) #
GET /connect/dc/return One-click sync return with the state as a query parameter #
POST /connections/{id}/domainconnect:start Build the one-click apply URL (sync) or start the managed async rail #
POST /connections/{id}/route53-role:start Start connecting a Route 53 domain through a limited IAM role instead of an… #
POST /connections/{id}/route53-role:complete Verify the customer's Route 53 access role and write the connection's records… #
POST /connections:bulk Create connections for a set of domains in one call #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/customdomain-ai:customdomain-ai-connections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

customdomain-ai-connections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Customdomain Ai Connections API
  version: '1.0'
  license:
    name: Apache-2.0
    identifier: Apache-2.0
  description: 'Operations tagged Connections across 2 of this provider''s published API definitions: customdomain-ai-openapi-original.json, customdomain-ai-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.customdomain.ai/v1
  description: Hosted control-plane
- url: http://localhost:8080/v1
  description: Local control-plane
security:
- apiKey: []
tags:


# --- truncated at 32 KB (162 KB total) ---
# Full source: https://artifacts.apis.io/customdomain-ai/openapi/customdomain-ai-connections-api-openapi.yml