Saltar para a documentação
API

Ligações de DNS

As contas de fornecedores de DNS ligadas ao espaço de trabalho, através das quais o OpenEmail escreve ele próprio os registos de um domínio. Uma conta é ligada na aplicação, porque o fornecedor pede à pessoa que inicie sessão.

GET/dns-connections

Executa qualquer uma das 3 chamadas no seu espaço de trabalho.

GET /dns-connections

As contas de fornecedores de DNS ligadas ao espaço de trabalho, através das quais o OpenEmail escreve ele próprio os registos de um domínio. Uma conta é ligada na aplicação, porque o fornecedor pede à pessoa que inicie sessão.

Listar as ligações

Requer domains:read. Todas as ligações, incluindo as desligadas, com os domínios que cada uma serve. configured é false quando este servidor não consegue ligar nenhum fornecedor.

curl
curl "$OE/dns-connections" -H "$AUTH"
Resposta
{  "object": "list",  "configured": true,  "data": [    {      "object": "dns_connection",      "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d",      "provider": "cloudflare",      "subject": "[email protected]",      "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }],      "status": "active",      "lastVerifiedAt": "2026-09-30T08:00:00.000Z",      "lastError": null,      "createdAt": "2026-09-01T10:12:00.000Z",      "domains": [        {          "domainId": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f",          "domain": "acme.com",          "zoneId": "023e105f4ecef8ad9ca31a8372d0c353",          "zoneName": "acme.com",          "state": "ready",          "records": 7,          "keepsMail": true,          "busy": false        }      ],      "records": 7,      "removable": false    }  ]}

status é active enquanto o OpenEmail pode escrever através da ligação, needs-reauth quando o fornecedor quer a conta ligada de novo na aplicação, revoked depois de ter sido desligada e error quando a última chamada falhou.

Ler uma ligação

Requer domains:read. GET /dns-connections/{id} acrescenta o que desligá-la deixaria para trás: busy indica os domínios em que está a decorrer uma sincronização, e keepsMail os domínios verificados que deixam de receber correio quando os seus registos são retirados.

curl
curl "$OE/dns-connections/dnsl_3f9a1c2e7b4d4e6f8a0b2c3d" -H "$AUTH"
Resposta
{  "object": "dns_connection",  "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d",  "provider": "cloudflare",  "subject": "[email protected]",  "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }],  "status": "active",  "lastVerifiedAt": "2026-09-30T08:00:00.000Z",  "lastError": null,  "createdAt": "2026-09-01T10:12:00.000Z",  "domains": [    {      "domainId": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f",      "domain": "acme.com",      "zoneId": "023e105f4ecef8ad9ca31a8372d0c353",      "zoneName": "acme.com",      "state": "ready",      "records": 7,      "keepsMail": true,      "busy": false    }  ],  "records": 7,  "removable": false,  "busy": [],  "keepsMail": ["acme.com"]}

Desligar uma ligação

Requer domains:write. DELETE /dns-connections/{id} retira os registos escritos através da ligação, desassocia todos os domínios que ela serve e revoga-a no fornecedor. Um domínio verificado cujos registos são retirados deixa de receber correio, por isso leia primeiro a ligação.

curl
curl -X DELETE "$OE/dns-connections/dnsl_3f9a1c2e7b4d4e6f8a0b2c3d" -H "$AUTH"
Resposta
{  "object": "dns_connection",  "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d",  "provider": "cloudflare",  "subject": "[email protected]",  "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }],  "status": "revoked",  "lastVerifiedAt": "2026-09-30T08:00:00.000Z",  "lastError": null,  "createdAt": "2026-09-01T10:12:00.000Z",  "removed": false,  "confirmed": true,  "detached": { "domains": 1, "detached": 1, "removed": 7, "rewritten": 0, "pending": 0, "left": [] }}

Apagar uma ligação que já está desligada remove-a da lista, assim que não lhe reste nenhum domínio nem nenhum registo, e removed é true. Se ainda lhe restar alguma coisa, a chamada dá 409 dns_connection_in_use.

Se estiver a decorrer uma sincronização num dos seus domínios, a chamada é recusada com 409 dns_busy, e nada é revogado.

Uma chave ou uma app limitada a determinados endereços ou domínios é recusada com 422 capability_unsupported, e uma app que age por um membro também precisa de workspace:manage na função desse membro.

Um token de acesso OAuth precisa de um código de verificação para esta chamada. Até a aplicação ter verificado um nos últimos 60 minutos, a chamada responde 403 step_up_required e não altera nada. A uma chave de API nunca é pedido. A página Autenticação mostra como pedir um código e verificá-lo.

Referência