Update a Recordset

Overview

  • Update a recordset

Classification

  • Update

API Operation Object

  • Recordset

Synchronous / Asynchronous

  • Synchronous

Request

HTTP Request Method

  • PUT

HTTP Request Path

{api_endpoint}/v2/zones/{zone_id}/recordsets/{recordset_id}

HTTP Request Header

Format

Content-Type: application/json
Accept: application/json
X-Auth-Token: <token_id>

HTTP Request Body

Format

{
  "name" : <name>,
  "description" : <description>,
  "ttl" : <ttl>,
  "records" : <record>
}

Request Parameter

name

style

format

description

required/optional

default value

action for invalid parameter

response code for invalid parameter

token_id

Header

authentication token string

authentication token

required

-

Terminate

401

zone_id

path

uuid

ID for the zone.

required

-

Terminate

400,404

recordset_id

path

uuid

ID for the recordset.

required

-

Terminate

400,404

ttl

body

integer(0-86400)

TTL (Time to Live) for the recordset.

optional

-

Terminate

400

description

body

string(0-255characters)

Description for this recordset.

optional

-

Terminate

400

name

body

hostname

DNS Name for the recordset.

optional

-

Terminate

400,409

record

body

string list

A list of data for this recordset. These items should conform to the DNS spec for the record type - e.g. A records must be IPv4 addresses, CNAME records must be a hostname. Number of the records must be 1.

optional

-

Terminate

400,409

Response

HTTP Response Header

Format

HTTP/1.1 <response_code>       (ex. 200)
  • <response_code>: see "Response Code" section

  • <status>: message based on the response code

Response Code

response code

status

condition

message

202

Accepted

normal end

400

Bad Request

invalid value

E2040 Input parameters are required.

Bad Request

invalid value

E2011 Invalid recordset format.

Bad Request

invalid value

E2015 Can't set domain name not end with zone name.

Bad Request

invalid value

E2016 Can't set multiple values on PTR recordset.

Bad Request

invalid value

E2017 Invalid recordset format. (Must be IPaddress(v4) format.)

Bad Request

invalid value

E2018 Invalid recordset format. (Must be IPaddress(v6) format.)

Bad Request

invalid value

E2019 Invalid recordset format. (Must be priority and server name.)

Bad Request

invalid value

E2020 Priority must be positive integer value. (0 - 65535)

Bad Request

invalid value

E2021 Server name must be domain format

Bad Request

invalid value

E2022 Invalid recordset format. (Must be priority and weight and service port and server name.)

Bad Request

invalid value

E2023 Priority must be positive integer value. (0 - 65535)

Bad Request

invalid value

E2024 Weight must be positive integer value. (0 - 65535)

Bad Request

invalid value

E2025 Port must be positive integer value. (0 - 65535)

Bad Request

invalid value

E2026 Server name must be domain format.

Bad Request

invalid value

E2027 Invalid recordset format. (Must be IPaddress(v4) format or domain name format.)

Bad Request

invalid value

E2028 Invalid recordset format. (Must be domain format.)

Bad Request

invalid value

E2040 Input parameters are required.

Bad Request

invalid value

E2042 Zone id is required.

Bad Request

invalid value

E2044 At least domain name or TTL or recordset value is required.

Bad Request

invalid value

E2049 Recordset id is required.

Bad Request

invalid value

E2055 Domain name must be less than or equal to 255.

Bad Request

invalid value

E2056 TTL value must be less than or equal to {max_value}

Bad Request

invalid value

E2057 TTL value must be more than or equal to 0

Bad Request

invalid value

E2058 Description must input less than or equal to 255.

404

Not Found

not exists

E2007 Specified zone is not found.

Not Found

not exists

E2008 Specified recordset is not found.

409

conflict

conflict

E2036 Specified recordset already exists.

conflict

conflict

E2037 Specified domain name of CNAME record already exists.

conflict

conflict

E2038 Request recordset values conflict.

conflict

conflict

E2066 Specified domain name already exists CNAME record.

401

Unauthorized

authentication failure

E2001 Invalid token.

500

Internal Server Error

internal server error

E9001 Internal Server Error. Request failed.

Response Body

Format

{
  "id": <id>,
  "name": <name>,
  "ttl": <ttl>,
  "description": <description>,
  "records": <records>,
  "type": <type>,
  "version": <version>,
  "created_at": <created_at>,
  "updated_at": <updated_at>,
  "zone_id": <zone_id>,
  "links": {
    <links>
  }
}

Response Parameter

item

format

Description

id

uuid

ID for the resource.

name

hostname

DNS Name for the recordset.

ttl

integer

TTL (Time to Live) for the recordset.

description

string

Description for this recordset.

records

string list

A list of data for this recordset. Each item will be a separate record in SDPF DNS These items should conform to the DNS spec for the record type - e.g. A records must be IPv4 addresses, CNAME records must be a hostname.

type

string

They RRTYPE of the recordset.

version

integer

Version of the resource. This parameter is not currently supported. it always return 1.

created_at

datestamp

Date / Time when resource was created.

updated_at

datestamp

Date / Time when resource last updated.

zone_id

uuid

ID for the zone that contains this recordset.

links

links

Links to the resource, and other related resources. When a response has been broken into pages, we will include a next link that should be followed to retrieve all results.

Sample Request and Response

Sample API Request

Request URL

PUT /v2/zones/fbe8562b-66a5-4071-b4c2-250487d15a81/recordsets/2514d0c1-d41e-4fd0-b736-acf3fbd1e03a

Request Header

Content-Type: application/json
Accept: application/json
X-Auth-Token: e8c788fbaeb14964ae19759eb1df4ff1

Request Body

{
  "name": "ex2.example.uk",
  "description": "updated description",
  "ttl": 300,
  "records": [
    "203.0.113.4"
  ]
}

Sample API Response

Response Header

HTTP/1.1 202
Date: Mon, 24 Oct 2016 06:15:59 GMT
Content-Type: application/json
Content-Length: 400
Connection: keep-alive
Set-Cookie: TS0183560f=01cce65ce12ede6cd54137c01adbf25c87fd4208f9f52dc93a0b5d69ace3df819dad6761ec; Path=/

Response Body

{
  "id": "2514d0c1-d41e-4fd0-b736-acf3fbd1e03a",
  "name": "ex2.example.uk.",
  "ttl": 300,
  "description": "updated description",
  "records": "203.0.113.4",
  "type": "A",
  "version": 1,
  "created_at": null,
  "updated_at": null,
  "zone_id": "fbe8562b-66a5-4071-b4c2-250487d15a81",
  "links": {
    "self": "https://endpoint.api.example.com/v2/zones/fbe8562b-66a5-4071-b4c2-250487d15a81/recordsets/2514d0c1-d41e-4fd0-b736-acf3fbd1e03a"
  }
}

Sample Error Response

Response

HTTP/1.1 404
Date: Mon, 24 Oct 2016 06:19:30 GMT
Content-Type: application/json
Content-Length: 94
Connection: keep-alive
Set-Cookie: TS0183560f=01cce65ce1d1e9bc9647943a25552b784083a729b3d7b22e5bda55e34bae03190901b9f01c; Path=/

{"error":{"code":404,"title":"Not Found","message":"E2008 Specified recordset is not found."}}