Registrant changes API

Change the registrant contact for a registered domain.

The process may require additional steps depending on the TLD and registry requirements, such as extended attributes.

List registrant changes

GET /:account/registrar/registrant_changes

List all registrant changes in the account.

Parameters

Name Type Description
:account integer The account id

Filters

Name Description
state Filter by state. Valid values: new, pending, completed, cancelling, cancelled. Defaults to open states (new, pending) if not specified.
domain_id Only include domains containing given domain ID
contact_id Only include domains containing given contact ID

Sorting

For general information about sorting, please refer to the main guide.

Name Description
id Sort registrant changes by ID

The default sorting policy is by ascending id.

Example

List registrant changes for the account 1010:

curl  -H 'Authorization: Bearer <token>' \
      -H 'Accept: application/json' \
      https://api.dnsimple.com/v2/1010/registrar/registrant_changes

Response

Responds with HTTP 200 on success

{
  "data": [
    {
      "id": 101,
      "account_id": 101,
      "domain_id": 101,
      "contact_id": 101,
      "state": "new",
      "extended_attributes": {},
      "registry_owner_change": true,
      "irt_lock_lifted_by": null,
      "created_at": "2017-02-03T17:43:22Z",
      "updated_at": "2017-02-03T17:43:22Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 30,
    "total_entries": 1,
    "total_pages": 1
  }
}

Start registrant change

POST /:account/registrar/registrant_changes

Start a registrant change for a domain.

Parameters

Name Type Description
:account integer The account id
domain_id string, integer The domain name or id
contact_id string, integer The contact id
extended_attributes object Extended attributes required for certain TLDs. See TLD extended attributes for details.

Example

Start a registrant change for the domain example.com in the account 1010:

curl  -H 'Authorization: Bearer <token>' \
      -H 'Accept: application/json' \
      -H 'Content-Type: application/json' \
      -X POST \
      -d '{"domain_id":"example.com","contact_id":"2"}' \
      https://api.dnsimple.com/v2/1010/registrar/registrant_changes

Response

Responds with HTTP 201 if the registrant change is completed immediately.

Responds with HTTP 202 if the registrant change has started and is pending completion.

{
  "data": {
    "id": 101,
    "account_id": 101,
    "domain_id": 101,
    "contact_id": 101,
    "state": "new",
    "extended_attributes": {},
    "registry_owner_change": true,
    "irt_lock_lifted_by": null,
    "created_at": "2017-02-03T17:43:22Z",
    "updated_at": "2017-02-03T17:43:22Z"
  }
}

Errors

Responds with HTTP 400 if the registrant change cannot be started.

Responds with HTTP 401 in case of authentication issues.

Check registrant change requirements

POST /:account/registrar/registrant_changes/check

Check the requirements for a registrant change before starting it.

Parameters

Name Type Description
:account integer The account id
domain_id string, integer The domain name or id
contact_id string, integer The contact id

Example

Check registrant change requirements for the domain example.com in the account 1010:

curl  -H 'Authorization: Bearer <token>' \
      -H 'Accept: application/json' \
      -H 'Content-Type: application/json' \
      -X POST \
      -d '{"domain_id":"example.com","contact_id":"2"}' \
      https://api.dnsimple.com/v2/1010/registrar/registrant_changes/check

Response

Responds with HTTP 200 on success

{
  "data": {
    "domain_id": 101,
    "contact_id": 101,
    "extended_attributes": [],
    "registry_owner_change": true
  }
}

Errors

Responds with HTTP 400 if the check cannot be performed.

Responds with HTTP 401 in case of authentication issues.

Retrieve a registrant change

GET /:account/registrar/registrant_changes/:registrant_change

Retrieve the details of an existing registrant change.

Parameters

Name Type Description
:account integer The account id
:registrant_change integer The registrant change id

Example

Get registrant change 101 in the account 1010:

curl  -H 'Authorization: Bearer <token>' \
      -H 'Accept: application/json' \
      https://api.dnsimple.com/v2/1010/registrar/registrant_changes/101

Response

Responds with HTTP 200 on success

{
  "data": {
    "id": 101,
    "account_id": 101,
    "domain_id": 101,
    "contact_id": 101,
    "state": "new",
    "extended_attributes": {},
    "registry_owner_change": true,
    "irt_lock_lifted_by": null,
    "created_at": "2017-02-03T17:43:22Z",
    "updated_at": "2017-02-03T17:43:22Z"
  }
}

Errors

Responds with HTTP 404 if the registrant change doesn’t exist.

Responds with HTTP 401 in case of authentication issues.

Cancel a registrant change

DELETE /:account/registrar/registrant_changes/:registrant_change

Cancel an ongoing registrant change.

Parameters

Name Type Description
:account integer The account id
:registrant_change integer The registrant change id

Example

Cancel registrant change 101 in the account 1010:

curl  -H 'Authorization: Bearer <token>' \
      -H 'Accept: application/json' \
      -X DELETE \
      https://api.dnsimple.com/v2/1010/registrar/registrant_changes/101

Response

Responds with HTTP 204 if the registrant change is cancelled immediately.

Responds with HTTP 202 if the registrant change is being cancelled (state is cancelling).

{
  "data": {
    "id": 101,
    "account_id": 101,
    "domain_id": 101,
    "contact_id": 101,
    "state": "cancelling",
    "extended_attributes": {},
    "registry_owner_change": true,
    "irt_lock_lifted_by": null,
    "created_at": "2017-02-03T17:43:22Z",
    "updated_at": "2017-02-03T17:43:22Z"
  }
}

The code block above shows the response for HTTP 202. HTTP 204 responses have no body.

Errors

Responds with HTTP 400 if the registrant change cannot be cancelled.

Responds with HTTP 401 in case of authentication issues.

Responds with HTTP 404 if the registrant change doesn’t exist.