Declarar un dominio

POST /api/v1/domains Declara un dominio de envío y crea la identidad de envío que sus registros probarán. Requiere el rol Admin. Es el primer paso de un ciclo pensado para automatizarse: declarar, leer los registros, publicarlos y luego verificar hasta que verified sea true.

Autorización

Rol en la organizaciónEste endpoint
OWNERPermitido
ADMINPermitido
MEMBERRechazado — 403
Una clave lleva el rol que su creador tiene en esta organización, nunca un rol en AgentsMail en sí. Consulta Claves de API.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
domainstringsíEl dominio o subdominio desde el que enviar, p. ej. mail.example.com

Ejemplo

bash
curl -X POST -H "x-api-key: $AGENTMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mail.example.com"}' \
  "https://www.agentsmail.io/api/v1/domains"

Respuesta

  • 201 Created: el recurso creado.
  • 400 Bad Request: la validación falló; details lleva los problemas campo por campo.
  • 401 Unauthorized: clave ausente o no válida, o su propietario dejó la organización.
  • 403 Forbidden: el propietario de la clave es member de la organización, no admin.
  • 429 Too Many Requests: más de 120 peticiones en un minuto para esta clave.

Campos de la respuesta

201 con el dominio declarado y los registros que publicar.
CampoTipoDescripción
successbooleanIndica si la operación tuvo éxito
data.idstringIdentificador del dominio declarado
data.domainstringEl dominio en sí
data.dkimStatusstringPENDING, SUCCESS o FAILED: las claves de firma
data.mailFromStatusstring \null
data.mailFromDomainstring \null
data.verifiedbooleanLa única pregunta que decide el envío: DKIM en SUCCESS y propiedad probada
data.ownershipProvedbooleanCuál de los dos gestos falta todavía
data.lastCheckedAtstring \null
data.sesUnavailablebooleantrue significa que estás leyendo el último estado conocido, no la verdad actual
data.dnsRecordsarrayLos registros que publicar: {type, name, value, purpose}

Ejemplo de respuesta

json
{
  "success": true,
  "data": {
    "id": "b71f…",
    "domain": "mail.example.com",
    "dkimStatus": "PENDING",
    "verified": false,
    "ownershipProved": false,
    "dnsRecords": [
      {"type": "CNAME", "name": "abc123._domainkey.mail.example.com", "value": "abc123.dkim.amazonses.com", "purpose": "dkim"}
    ]
  }
}

Relacionado