Renew a domain
Domains with renewal_mode: "renew" are renewed automatically before they
expire. If you need to renew a domain manually — for example to extend it
further in advance — use the renew endpoint.
Renew a domain
Send a POST request to /v1/domains/{domain_reference}/renew:
curl "$OPUSDNS_API_BASE/v1/domains/example.com/renew" \
--request POST \
--header "X-Api-Key: $OPUSDNS_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"period": {
"unit": "y",
"value": 1
},
"current_expiry_date": "2026-03-15"
}'
Request fields
| Field | Required | Description |
|---|---|---|
period |
Yes | How long to extend the domain. Uses unit (y, m, or d) and value. |
current_expiry_date |
Yes | The domain's current expiry date. Acts as a safety check to prevent accidental double renewals. |
expected_price |
No | Price confirmation for premium domains. Required for premium domains; rejected for standard domains. |
Response
A successful renewal returns:
{
"name": "example.com",
"new_expiry_date": "2027-03-15",
"period_extended": {
"unit": "y",
"value": 1
}
}
For premium domains, include expected_price to confirm the renewal price. See Premium domains for details.
Domain reference
You can use either the domain name or the domain ID as the path parameter:
POST /v1/domains/example.com/renew
POST /v1/domains/dom_01h45ytscbebyvny4gc8cr8ma2/renew

