---
title: "Renew a domain"
method: POST
path: "/v1/registrar/domains/{domain}/renew"
tags: ["domains-registrar"]
---

# Renew a domain

`POST /v1/registrar/domains/{domain}/renew`

## Request

- Base URL: `https://api.vercel.com`
- URL: `https://api.vercel.com/v1/registrar/domains/{domain}/renew`
- Auth: HTTP bearer

Renew a domain

## Path parameters

- `domain` string, required: A valid domain name

## Query parameters

- `teamId` string

## Request body

- object
  - `years` number, required: The number of years to renew the domain for.
  - `expectedPrice` number, required
  - `contactInformation` object
    - `firstName` string, required: a non empty string
    - `lastName` string, required: a non empty string
    - `email` string, required: A valid RFC 5322 email address
    - `phone` string, required: A valid E.164 phone number
    - `address1` string, required: a non empty string
    - `address2` string: a non empty string
    - `city` string, required: a non empty string
    - `state` string, required: a non empty string
    - `zip` string, required: a non empty string
    - `country` string, required: A valid ISO 3166-1 alpha-2 country code
    - `companyName` string: a non empty string
    - `fax` string: A valid E.164 phone number

## Response `200`

Success

- object
  - `orderId` string, required: A valid order ID
  - `_links` object, required

## Other responses

- `400`: There was something wrong with the request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: The domain was not found in our system.
- `429`: TooManyRequests
- `500`: InternalServerError

## Changes

- **2026-07-14** `314022afff45`: 1 info
  - added the optional property `reason` to the response with the `401` status
- **2026-02-02** `5264f094c3d3`: 250 breaking
  - removed the enum value `AD` of the request property `contactInformation/country`
  - removed the enum value `AE` of the request property `contactInformation/country`
  - removed the enum value `AF` of the request property `contactInformation/country`
  - removed the enum value `AG` of the request property `contactInformation/country`
  - …246 more
- **2026-01-22** `c12186034433`: 1 breaking, 2 warning, 252 info
  - request property `contactInformation/country` was restricted to a list of enum values
  - changed the pattern of the request property `contactInformation/fax` from `^(?=(?:\D*\d){7,15}$)\+[1-9]\d{0,2}\.?\d+$` to `^(?=(?:\D*\d){8,15}$)\+[1-9]\d{0,2}\.?\d+$`
  - changed the pattern of the request property `contactInformation/phone` from `^(?=(?:\D*\d){7,15}$)\+[1-9]\d{0,2}\.?\d+$` to `^(?=(?:\D*\d){8,15}$)\+[1-9]\d{0,2}\.?\d+$`
  - added the new `AD` enum value to the request property `contactInformation/country`
  - …251 more
- **2025-11-28** `45991e5c8b6d`: 2 info
  - added the new optional `query` request parameter `teamId`
  - added `#/components/schemas/DomainTooShort` to the response body `anyOf` list for the response status `400`
- **2025-10-09** `50caddad4ae7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/vercel/apis/api/changes/v1/registrar/domains/:domain/renew/post.md)

---

[API](https://skmtc.dev/vercel/apis/api.md) - [All operations](https://skmtc.dev/vercel/apis/api/llms.txt) - [OpenAPI document](https://skmtc.dev/vercel/apis/api/revisions/4a06e85c2848?raw)
