Ir al contenido

DNS

DELETE /v1/dns/zones/{zone}/records/{name}/{type} · scope dns:write · destructiva — no tiene vuelta atras · idempotente

Borra todos los valores de ese nombre y tipo.

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com/records/www/A \
-X DELETE \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: dns.records.delete

GET /v1/dns/zones/{zone}/records/{name}/{type} · scope dns:read

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com/records/www/A \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: dns.records.get

GET /v1/dns/zones/{zone}/records · scope dns:read

Agrupados en RRsets: un A con dos IPs es un registro con dos valores. La respuesta trae un ETag; pasalo como If-Match al escribir y ningún cambio concurrente se pierde.

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com/records \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: dns.records.list

PATCH /v1/dns/zones/{zone}/records · scope dns:write · destructiva — no tiene vuelta atras · idempotente

Cada elemento reemplaza su RRset; values: [] lo borra. Es la forma de aplicar un cambio coherente —mover un sitio y su correo juntos— sin que quede a medias entre dos llamadas. No es atómico en el backend: si un cambio falla, los anteriores ya se aplicaron y la respuesta dice cuál cortó.

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com/records \
-X PATCH \
-H "Authorization: Bearer $TRUO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"records":[]}'

operationId: dns.records.patch

PUT /v1/dns/zones/{zone}/records/{name}/{type} · scope dns:write · reversible · idempotente

Reemplaza el RRset entero: los valores que no vengan en values se borran. Es la semántica del DNS y la del backend — no existe “agregar una IP” sin reescribir el conjunto. Leé el RRset, agregá el valor a la lista y mandá la lista completa con el ETag en If-Match.

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com/records/www/A \
-X PUT \
-H "Authorization: Bearer $TRUO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"values":[]}'

operationId: dns.records.put

GET /v1/dns/zones/{zone}/export · scope dns:read

El archivo de zona tal como lo emite el backend. Útil para respaldo o migración.

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com/export \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: dns.zones.export

GET /v1/dns/zones/{zone} · scope dns:read

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones/ejemplo.com \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: dns.zones.get

GET /v1/dns/zones · scope dns:read

Sale de la base, sin consultar el backend de DNS: record_count y serial vienen en null. Traerlos costaría una llamada por zona y hay cuentas con decenas.

Ventana de terminal
curl https://api.truo.cloud/v1/dns/zones \
-H "Authorization: Bearer $TRUO_TOKEN"

operationId: dns.zones.list