CustomDomain™ docs
API referenceConnections

Remove a domain, optionally authorizing the record removal once with a key

POST
/connections/{id}:disconnect

The same removal as DELETE /connections/{id} with a body. Send credential (a DNS provider API key) to authorize removing the records once when we did not keep the access that added them; it is used for this removal and never stored. The zone must show at least one of our records with that key, or the outcome lists the manual steps (the key may belong to another account). Answers 200 with the outcome; an end user's widget token must be bound as for DELETE /connections/{id}.

A delegated agent token needs domains:disconnect and must send confirm, as for DELETE /connections/{id}.

Authorization

AuthorizationBearer <token>

Short-lived widget JWT minted server-side via POST /v1/tokens. Scoped to one application (and optionally one domain).

In: header

Path Parameters

id*string

Query Parameters

confirm?string

Required of a delegated agent token: the domain it is removing, as written on the connection (case, scheme, path and a trailing dot do not matter). Without it the answer is 400 confirmation_required; with another domain, 409 confirmation_mismatch. Nothing is removed either way. Other credentials ignore it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/connections/string:disconnect" \  -H "Content-Type: application/json" \  -d '{}'
{  "connection_id": "string",  "domain": "string",  "disconnected": true,  "records": {    "choice": "remove",    "outcome": "removed",    "via": "string",    "removed": [      {        "type": "string",        "name": "string",        "value": "string",        "note": "string"      }    ],    "restored": [      {        "type": "string",        "name": "string",        "value": "string",        "note": "string"      }    ],    "left_in_place": [      {        "type": "string",        "name": "string",        "value": "string",        "note": "string"      }    ],    "failed": [      {        "type": "string",        "name": "string",        "value": "string",        "note": "string"      }    ],    "manual_steps": [      "string"    ]  },  "serving": "stopped",  "certificate": "removed",  "monitoring": "stopped"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "reauthorization_required",  "plan": {    "connection_id": "string",    "domain": "string",    "provider": "string",    "provider_name": "string",    "connected_via": "string",    "access": "kept",    "access_detail": "string",    "record_removal": "automatic",    "default_choice": "remove",    "reauthorize": {      "methods": [        "sign_in"      ],      "provider": "string",      "flow": "string",      "regions": [        "string"      ]    },    "records_in_use_elsewhere": true,    "records": [      {        "type": "string",        "host": "string",        "name": "string",        "value": "string",        "ttl": 0,        "priority": 0,        "change": "created",        "action": "delete",        "prior": [          {            "type": "string",            "value": "string",            "ttl": 0,            "priority": 0          }        ],        "prior_source": "provider",        "note": "string"      }    ],    "manual_steps": [      "string"    ],    "notes": [      "string"    ],    "teardown": [      "string"    ],    "removal_started_at": "2019-08-24T14:15:22Z",    "removed": true,    "removed_at": "2019-08-24T14:15:22Z",    "result": {      "choice": "remove",      "outcome": "removed",      "via": "string",      "removed": [        {          "type": "string",          "name": "string",          "value": "string",          "note": "string"        }      ],      "restored": [        {          "type": "string",          "name": "string",          "value": "string",          "note": "string"        }      ],      "left_in_place": [        {          "type": "string",          "name": "string",          "value": "string",          "note": "string"        }      ],      "failed": [        {          "type": "string",          "name": "string",          "value": "string",          "note": "string"        }      ],      "manual_steps": [        "string"      ]    }  }}