Remove a domain, optionally authorizing the record removal once with a key
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}.
Short-lived widget JWT minted server-side via POST /v1/tokens. Scoped to one application (and optionally one domain).
In: header
Path Parameters
Query Parameters
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" ] } }}