rentadomain.sh API Bearer token auth. Tokens look like rd_ followed by 40 characters and are shown once, when you create them from the dashboard at /app/:lease. Scopes: dns:read, dns:write GET /api/v1/leases List the leases the token can see. curl https://rentadomain.sh/api/v1/leases \ -H "authorization: Bearer rd_1a2b3c4d5e6f7g8h9i0jklmnopqrstuvwxyzABCDE" GET /api/v1/leases/:id/records List the DNS records on one lease. curl https://rentadomain.sh/api/v1/leases/l_abc123/records \ -H "authorization: Bearer rd_1a2b3c4d5e6f7g8h9i0jklmnopqrstuvwxyzABCDE" POST /api/v1/leases/:id/records/plan Propose a change. Returns a plan id and a verdict. Nothing is written yet. curl https://rentadomain.sh/api/v1/leases/l_abc123/records/plan \ -H "authorization: Bearer rd_1a2b3c4d5e6f7g8h9i0jklmnopqrstuvwxyzABCDE" \ -H "content-type: application/json" \ -d '{"ops":[{"op":"create","record":{"type":"TXT","name":"@","content":"hello"}}]}' POST /api/v1/leases/:id/records/apply Apply a proposed plan by id. A protected plan (MX, SPF, DKIM, DMARC, CAA, wildcard) needs a person with a passkey. Use the dashboard for those. curl https://rentadomain.sh/api/v1/leases/l_abc123/records/apply \ -H "authorization: Bearer rd_1a2b3c4d5e6f7g8h9i0jklmnopqrstuvwxyzABCDE" \ -H "content-type: application/json" \ -d '{"planId":"p_xyz789"}' OpenAPI 3.1: https://rentadomain.sh/openapi.json API catalog (RFC 9727): https://rentadomain.sh/.well-known/api-catalog Full docs: https://rentadomain.sh/how-it-works