Reclamar un dominio para una organización

POST /v1/organization-domains · permiso organization-domains:write

Añade un dominio a una organización. domain puede indicarse en Unicode o como A-label y se guarda como A-label en minúsculas. Con dns_txt (predeterminado) el dominio empieza en pending; publique el registro TXT devuelto y el dominio se verifica mediante :verify o la comprobación programada; un dominio no verificado en 72 horas pasa a expired. manual registra su propia declaración de titularidad: el dominio pasa de inmediato a verified y la declaración se escribe en el registro de auditoría de gestión. Cada organización puede tener como máximo 100 dominios.

Solicitud

Campo Tipo Obligatorio Descripción
Idempotency-Key encabezado no Clave opcional (16-64 caracteres) que hace segura una solicitud reintentada.
organization_id string sí La organización que reclama el dominio (org_…).
domain string sí Nombre de dominio, de 253 caracteres como máximo. Los sufijos públicos y los proveedores de correo gratuitos no pueden reclamarse.
verification_method string no dns_txt (predeterminado) o manual.

Cuerpo de la solicitud:

{
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "domain": "acme.com"
}

Respuesta

201 Created con el dominio y un encabezado ETag.

{
  "id": "odm_01j9xk3m7q8r2s4t6v8w0y2z4c",
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "domain": "acme.com",
  "status": "pending",
  "verification_method": "dns_txt",
  "txt_record_name": "_akp-verify.acme.com",
  "txt_record_value": "idp-verify=EXAMPLEtokenEXAMPLEtokenEXAMPLEtokenEXAMPLEtok",
  "verification_started_at": "2026-10-12T09:30:00.123456Z",
  "verified_at": null,
  "last_checked_at": null,
  "unverified_at": null,
  "next_check_at": "2026-10-12T09:31:00.123456Z",
  "last_failure_code": null,
  "capture_mode": "off",
  "sso_routing_enabled": false,
  "created_at": "2026-10-12T09:30:00.123456Z",
  "updated_at": "2026-10-12T09:30:00.123456Z",
  "version": 1
}

Errores

HTTP code Cuándo
400 unknown_field El cuerpo tiene un campo que no está en el esquema o es de solo lectura.
404 not_found No existe una organización con este ID en este entorno.
409 conflict Esta organización ya tiene este dominio.
409 domain_already_verified Otra organización ya ha verificado este dominio.
409 domain_limit_reached La organización ya tiene 100 dominios.
409 organization_disabled La organización está deshabilitada.
409 organization_pending_deletion La organización está pendiente de eliminación de autoservicio; cancele primero la eliminación.
422 domain_not_claimable El dominio es un sufijo público o un proveedor de correo gratuito.
422 validation_failed Un campo no es válido (organization_id, domain, verification_method).
401 unauthenticated La credencial falta, no es válida o fue revocada.
403 insufficient_permissions La credencial no tiene el permiso requerido.
429 rate_limited Se superó el límite de frecuencia; reintente después del período de Retry-After.
503 service_unavailable Una dependencia no está disponible temporalmente; reintente después del período de Retry-After.

Ejemplo

curl -X POST https://api.eu.keenauth.com/v1/organization-domains \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"organization_id":"org_01j9xk3m7q8r2s4t6v8w0y2z4a","domain":"acme.com"}'