API reference/Domain names
Renew a domain now
Try itRenews 1–5 years at the registry's renewal price plus our margin; the total goes on this month's statement. Safe against a double call: a renewal already running answers 409.
POST
/api/v1/domain-names/{registration_id}/renewAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the domains:buy scope — search, buy and renew domain names (each adds the registration to your bill).
domains:buyAdds to your billIdempotency-Key requiredMCP tool: renew_domain_name
Parameters
Named placeholders go in the path; the rest in a JSON body.
registration_idstringPath · required- The domain name's id.1 to 100 characters
yearsintegerBody · optional- 1 to 5Default
1
Response
200 with JSON on success (schema on the right). Errors use the standard envelope; a retry with the same Idempotency-Key gets the first answer back (how retries work).
curl -X POST 'https://websites.workflowcorp.com/api/v1/domain-names/REGISTRATION_ID/renew' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'{
"registration_id": "REGISTRATION_ID"
}{
"type": "object",
"properties": {
"domain_name": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"domain": {
"type": "string"
},
"site_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"pending",
"active",
"expired",
"failed"
]
},
"year_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "What we charge per year (cents), as last quoted."
},
"auto_renew": {
"type": "boolean",
"description": "Renewed by itself, one year, 30 days before it ends."
},
"registered_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"expires_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"renew_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"dns_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"dns_records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"type": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"host",
"type",
"answer"
],
"additionalProperties": false
},
"description": "The records we set at the registrar (host is relative to the domain; empty = the bare domain)."
},
"email_forwards": {
"type": "array",
"items": {
"type": "object",
"properties": {
"box": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"box",
"to"
],
"additionalProperties": false
},
"description": "Business email addresses: box@domain arrives in `to`."
},
"created_at": {
"type": "string"
}
},
"required": [
"id",
"domain",
"site_id",
"status",
"year_cents",
"auto_renew",
"registered_at",
"expires_at",
"renew_error",
"dns_error",
"dns_records",
"email_forwards",
"created_at"
],
"additionalProperties": false
},
"charged_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"domain_name",
"charged_cents"
],
"additionalProperties": false
}