DNS v2 API

Zone

Zone operations.

POST
/v2/zones

Create Zone

Create a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

name

body

domainname

DNS Name for the zone

email

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

description (Optional)

body

string

Description for this zone

masters (Optional)

body

enum

Mandatory for secondary zones. The servers to slave from to get DNS information

type (Optional)

body

enum

Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY

attributes (Optional)

body

dict

Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.

Request Example

{
    "attributes": {
        "tier": "gold", "ha": "true"
    },
    "name": "example.org.",
    "email": "joe@example.org",
    "type": "PRIMARY",
    "ttl": 7200,
    "description": "This is an example zone."
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pool_id

body

uuid

ID for the pool hosting this zone

project_id

body

uuid

ID for the project that owns the resource

name

body

domainname

DNS Name for the zone

email

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

serial

body

integer

current serial number for the zone

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

description (Optional)

body

string

Description for this zone

masters (Optional)

body

enum

Mandatory for secondary zones. The servers to slave from to get DNS information

type (Optional)

body

enum

Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY

transfered_at

body

enum

For secondary zones. The last time an update was retrieved from the master servers

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

attributes (Optional)

body

dict

Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.

shared

body

bool

True if the zone is shared with another project.

New in version 2.1

links

body

object

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

Response Example

{
    "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "joe@example.org",
    "ttl": 7200,
    "serial": 1404757531,
    "status": "ACTIVE",
    "action": "CREATE",
    "description": "This is an example zone.",
    "masters": [],
    "type": "PRIMARY",
    "transferred_at": null,
    "version": 1,
    "created_at": "2014-07-07T18:25:31.275934",
    "updated_at": null,
    "attributes": {
        "tier": "gold", "ha": "true"
    },
    "links": {
      "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
    }
}
GET
/v2/zones

List Zones

List all zones

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

limit (Optional)

query

integer

Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

marker (Optional)

query

string

The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

sort_dir (Optional)

query

string

Sorts the response by the requested sort direction. A valid value is asc (ascending) or desc (descending). Default is asc. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

sort_key (Optional)

query

string

Sorts the response by the this attribute value. Default is id. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

name (Optional)

query

string

Filter results to only show zones that have a name matching the filter

type (Optional)

query

string

Filter results to only show zones that have a type matching the filter

email (Optional)

query

string

Filter results to only show zones that have an email matching the filter

status (Optional)

query

string

Filter results to only show zones that have a status matching the filter

description (Optional)

query

string

Filter results to only show zones that have a description matching the filter

ttl (Optional)

query

integer

Filter results to only show zones that have a ttl matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pool_id

body

uuid

ID for the pool hosting this zone

project_id

body

uuid

ID for the project that owns the resource

name

body

domainname

DNS Name for the zone

email

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

serial

body

integer

current serial number for the zone

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

description (Optional)

body

string

Description for this zone

masters (Optional)

body

enum

Mandatory for secondary zones. The servers to slave from to get DNS information

type (Optional)

body

enum

Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY

transfered_at

body

enum

For secondary zones. The last time an update was retrieved from the master servers

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

attributes (Optional)

body

dict

Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.

shared

body

bool

True if the zone is shared with another project.

New in version 2.1

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
    "zones": [
        {
            "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
            "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
            "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
            "name": "example.org.",
            "email": "joe@example.org",
            "ttl": 7200,
            "serial": 1404757531,
            "status": "ACTIVE",
            "action": "CREATE",
            "description": "This is an example zone.",
            "masters": [],
            "type": "PRIMARY",
            "transferred_at": null,
            "version": 1,
            "created_at": "2014-07-07T18:25:31.275934",
            "updated_at": null,
            "attributes": {
                "tier": "gold", "ha": "true"
            },
            "links": {
              "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
            }
        }
    ],
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones?limit=1",
        "next": "http://127.0.0.1:9001/v2/zones?limit=1&marker=45fd892d-7a67-4f65-9df0-87273f228d6c"
    },
    "metadata": {
        "total_count": 2
    }
}
GET
/v2/zones/{zone_id}

Show a Zone

Show a zone

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pool_id

body

uuid

ID for the pool hosting this zone

project_id

body

uuid

ID for the project that owns the resource

name

body

domainname

DNS Name for the zone

email

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

serial

body

integer

current serial number for the zone

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

description (Optional)

body

string

Description for this zone

masters (Optional)

body

enum

Mandatory for secondary zones. The servers to slave from to get DNS information

type (Optional)

body

enum

Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY

transfered_at

body

enum

For secondary zones. The last time an update was retrieved from the master servers

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

attributes (Optional)

body

dict

Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.

shared

body

bool

True if the zone is shared with another project.

New in version 2.1

links

body

object

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

Response Example

{
    "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "joe@example.org",
    "ttl": 7200,
    "serial": 1404757531,
    "status": "ACTIVE",
    "action": "CREATE",
    "description": "This is an example zone.",
    "masters": [],
    "type": "PRIMARY",
    "transferred_at": null,
    "version": 1,
    "created_at": "2014-07-07T18:25:31.275934",
    "updated_at": null,
    "attributes": {
        "tier": "gold", "ha": "true"
    },
    "links": {
      "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
    }
}
GET
/v2/zones/{zone_id}/nameservers

Get the Name Servers for a Zone

Show the nameservers for a zone

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

hostname

body

hostname

The hostname of the nameserver that the zone should be delegated to

priority

body

integer

The priority of the nameserver. This is used to determine the order of the the nameserver listings, and which server is used in the SOA record for the zone.

Response Example

{
    "nameservers": [
        {
            "hostname": "ns1.example.com.",
            "priority": 10
        }
    ]
}
PATCH
/v2/zones/{zone_id}

Update a Zone

Update the attribute(s) for an existing zone.

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

email (Optional)

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

description (Optional)

body

string

Description for this zone

Request Example

{
    "ttl": 600,
    "description": "Updated Description"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pool_id

body

uuid

ID for the pool hosting this zone

project_id

body

uuid

ID for the project that owns the resource

name

body

domainname

DNS Name for the zone

email

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

serial

body

integer

current serial number for the zone

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

description (Optional)

body

string

Description for this zone

masters (Optional)

body

enum

Mandatory for secondary zones. The servers to slave from to get DNS information

type (Optional)

body

enum

Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY

transfered_at

body

enum

For secondary zones. The last time an update was retrieved from the master servers

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

attributes (Optional)

body

dict

Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.

shared

body

bool

True if the zone is shared with another project.

New in version 2.1

links

body

object

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

Response Example

{
    "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "joe@example.org",
    "ttl": 600,
    "serial": 1404757531,
    "status": "PENDING",
    "action": "UPDATE",
    "description": "Updated Description",
    "masters": [],
    "type": "PRIMARY",
    "transferred_at": null,
    "version": 1,
    "created_at": "2014-07-07T18:25:31.275934",
    "updated_at": null,
    "attributes": {
        "tier": "gold", "ha": "true"
    },
    "links": {
      "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
    }
}
DELETE
/v2/zones/{zone_id}

Delete a Zone

Delete a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

x-designate-hard-delete (Optional)

header

bool

If enabled, this will delete the zone resources (i.e. files) on the back-end.

x-designate-delete-shares (Optional)

header

bool

If enabled, this will delete associated shares along with the resource.

New in version 2.1

zone_id

path

uuid

ID for the zone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pool_id

body

uuid

ID for the pool hosting this zone

project_id

body

uuid

ID for the project that owns the resource

name

body

domainname

DNS Name for the zone

email

body

string

e-mail for the zone. Used in SOA records for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the zone.

serial

body

integer

current serial number for the zone

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

description (Optional)

body

string

Description for this zone

masters (Optional)

body

enum

Mandatory for secondary zones. The servers to slave from to get DNS information

type (Optional)

body

enum

Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY

transfered_at

body

enum

For secondary zones. The last time an update was retrieved from the master servers

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

attributes (Optional)

body

dict

Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.

shared

body

bool

True if the zone is shared with another project.

New in version 2.1

links

body

object

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

Response Example

{
    "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "joe@example.org",
    "ttl": 600,
    "serial": 1404757531,
    "status": "PENDING",
    "action": "DELETE",
    "description": "Updated Description",
    "masters": [],
    "type": "PRIMARY",
    "transferred_at": null,
    "version": 1,
    "created_at": "2014-07-07T18:25:31.275934",
    "updated_at": null,
    "links": {
      "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
    }
}

Zone Import

Zone imports are an asynchronous operation, and there are different endpoints to view the status and progress of an import

POST
/v2/zones/tasks/imports

Create a Zone Import

Import a zone.

Note

This POST should have no body, and the content-type should be text/dns

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone import

status

body

uuid

Current status of the zone import

zone_id (Optional)

body

uuid

ID for the zone that was created by this import

message (Optional)

body

uuid

Message about the current status of the import

project_id

body

uuid

ID for the project that owns the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

Response Example

{
    "status": "PENDING",
    "zone_id": null,
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/074e805e-fe87-4cbb-b10b-21a06e215d41"
    },
    "created_at": "2015-05-08T15:43:42.000000",
    "updated_at": null,
    "version": 1,
    "message": null,
    "project_id": "1",
    "id": "074e805e-fe87-4cbb-b10b-21a06e215d41"
}
GET
/v2/zones/tasks/imports

List all Zone Imports

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id (Optional)

query

uuid

Filter results to only show zone_imports that have a zone_id matching the filter

message (Optional)

query

string

Filter results to only show zone_imports that have a message matching the filter

status (Optional)

query

string

Filter results to only show zone_imports that have a status matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone import

status

body

uuid

Current status of the zone import

zone_id (Optional)

body

uuid

ID for the zone that was created by this import

project_id

body

uuid

ID for the project that owns the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
     "imports": [
         {
            "status": "COMPLETE",
            "zone_id": "047888ee-e9dd-4c08-8b44-ab2e879e01bd",
            "links": {
                "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/0436a86e-ffc1-4d38-82a7-d75170fcd2a9",
                "href": "http://127.0.0.1:9001/v2/zones/047888ee-e9dd-4c08-8b44-ab2e879e01bd"
            },
            "created_at": "2016-04-05T06:03:06.000000",
            "updated_at": "2016-04-05T06:03:06.000000",
            "version": 2,
            "message": "example.com. imported",
            "project_id": "1de6e2fdc22342d3bef6340c7b70f497",
            "id": "0436a86e-ffc1-4d38-82a7-d75170fcd2a9"
        },
        {
            "status": "COMPLETE",
            "zone_id": "68a17870-7f81-470a-b5e9-2753460fd6dc",
            "links": {
                "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/f0aa4ac1-f975-46a4-b417-339acd1ea8e3",
                "href": "http://127.0.0.1:9001/v2/zones/68a17870-7f81-470a-b5e9-2753460fd6dc"
            },
            "created_at": "2016-04-05T06:06:26.000000",
            "updated_at": "2016-04-05T06:06:26.000000",
            "version": 2,
            "message": "temp.org. imported",
            "project_id": "1de6e2fdc22342d3bef6340c7b70f497",
            "id": "f0aa4ac1-f975-46a4-b417-339acd1ea8e3"
        }
     ],
     "links": {
         "self": "http://127.0.0.1:9001/v2/zones/tasks/imports"
     },
     "metadata": {
         "total_count": 2
     }
}
GET
/v2/zones/tasks/imports/{zone_import_id}

Show a Zone Import

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_import_id

path

uuid

ID for this zone import

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone import

status

body

uuid

Current status of the zone import

zone_id (Optional)

body

uuid

ID for the zone that was created by this import

project_id

body

uuid

ID for the project that owns the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

links

body

object

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

Response Example

{
    "status": "COMPLETE",
    "zone_id": "6625198b-d67d-47dc-8d29-f90bd60f3ac4",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/074e805e-fe87-4cbb-b10b-21a06e215d41",
        "href": "http://127.0.0.1:9001/v2/zones/6625198b-d67d-47dc-8d29-f90bd60f3ac4"
    },
    "created_at": "2015-05-08T15:43:42.000000",
    "updated_at": "2015-05-08T15:43:42.000000",
    "version": 2,
    "message": "example.com. imported",
    "project_id": "noauth-project",
    "id": "074e805e-fe87-4cbb-b10b-21a06e215d41"
}
DELETE
/v2/zones/tasks/imports/{zone_import_id}

Delete a Zone Import

This will just delete the record of the zone import, not the imported zone.

The zone will have to be deleted from the zone delete API

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_import_id

path

uuid

ID for this zone import

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Zone Exports

Zone exports can be an asynchronous operation, and there are different endpoints to view the status and progress of an export

POST
/v2/zones/{zone_id}/tasks/export

Create a Zone Export

Export a zone.

Note

This POST should have no body

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone export

location (Optional)

body

string

Where the exported zone is published to. There are currently one placement option available - designate. This will be shown by designate://<url>. As more drivers are added, this will expand to include swift - this will be indicated by location being set to swift://<region>/<container>/<file> This is also allowed be a webserver if the operator implements a different data store, and will be indicted by http://<url> When a zone export is complete, the location will be updated, and the exported zone file will be available at the location specified.

status

body

string

Current status of the zone export

zone_id (Optional)

body

uuid

ID for the zone that is being exported

message (Optional)

body

uuid

Message about the current status of the export

project_id

body

uuid

ID for the project that owns the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

Response Example

{
    "status": "PENDING",
    "zone_id": "074e805e-fe87-4cbb-b10b-21a06e215d41",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720"
    },
    "created_at": "2015-08-27T20:57:03.000000",
    "updated_at": null,
    "version": 1,
    "location": null,
    "message": null,
    "project_id": "1",
    "id": "8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720"
}
GET
/v2/zones/tasks/exports

List all Zone Exports

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id (Optional)

query

uuid

Filter results to only show zone_exports that have a zone_id matching the filter

message (Optional)

query

string

Filter results to only show zone_exports that have a message matching the filter

status (Optional)

query

string

Filter results to only show zone_exports that have a status matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone export

location (Optional)

body

string

Where the exported zone is published to. There are currently one placement option available - designate. This will be shown by designate://<url>. As more drivers are added, this will expand to include swift - this will be indicated by location being set to swift://<region>/<container>/<file> This is also allowed be a webserver if the operator implements a different data store, and will be indicted by http://<url> When a zone export is complete, the location will be updated, and the exported zone file will be available at the location specified.

status

body

string

Current status of the zone export

zone_id (Optional)

body

uuid

ID for the zone that is being exported

project_id

body

uuid

ID for the project that owns the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{

    "exports": [
        {
            "status": "COMPLETE",
            "zone_id": "17a8d6b3-6ace-4857-b113-a707c5f975b1",
            "links": {
                "self": "http://127.0.0.1:9001/v2/zones/tasks/exports/204be410-0a9c-44b8-839e-bc4df3bb0d9a",
                "export": "http://127.0.0.1:9001/v2/zones/tasks/exports/204be410-0a9c-44b8-839e-bc4df3bb0d9a/export"
            },
            "created_at": "2016-04-04T01:53:29.000000",
            "updated_at": "2016-04-04T01:53:29.000000",
            "version": 2,
            "location": "designate://v2/zones/tasks/exports/204be410-0a9c-44b8-839e-bc4df3bb0d9a/export",
            "message": null,
            "project_id": "1de6e2fdc22342d3bef6340c7b70f497",
            "id": "204be410-0a9c-44b8-839e-bc4df3bb0d9a"
        }
    ],
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/exports"
    },
    "metadata": {
        "total_count": 1
    }
}
GET
/v2/zones/tasks/exports/{zone_export_id}

Show a Zone Export Information

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_export_id

path

uuid

ID for this zone export

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone export

location (Optional)

body

string

Where the exported zone is published to. There are currently one placement option available - designate. This will be shown by designate://<url>. As more drivers are added, this will expand to include swift - this will be indicated by location being set to swift://<region>/<container>/<file> This is also allowed be a webserver if the operator implements a different data store, and will be indicted by http://<url> When a zone export is complete, the location will be updated, and the exported zone file will be available at the location specified.

status

body

string

Current status of the zone export

zone_id (Optional)

body

uuid

ID for the zone that is being exported

project_id

body

uuid

ID for the project that owns the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

links

body

object

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

Response Example

{
    "status": "COMPLETE",
    "zone_id": "6625198b-d67d-47dc-8d29-f90bd60f3ac4",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720",
        "export": "http://127.0.0.1:9001/v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720/export"
    },
    "created_at": "2015-08-27T20:57:03.000000",
    "updated_at": "2015-08-27T20:57:03.000000",
    "version": 2,
    "location": "designate://v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720/export",
    "message": null,
    "project_id": "noauth-project",
    "id": "8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720"
}
GET
/v2/zones/tasks/exports/{zone_export_id}/export

Retrive a Zone Export from the Designate Datastore

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Note

This endpoint will send a response with a text/dns content-type. If the client does not include a Accepts: text/dns header the request will be rejected.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_export_id

path

uuid

ID for this zone export

accepts

header

string

Content-Type that will be accepted by the client. This endpoint will send a response with a text/dns content-type. If the client does not include a Accepts: text/dns header

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Response Example

$ORIGIN example.com.
$TTL 42

example.com. IN SOA ns.designate.com. nsadmin.example.com. (
    1394213803 ; serial
    3600 ; refresh
    600 ; retry
    86400 ; expire
    3600 ; minimum
)


example.com. IN NS ns.designate.com.


example.com.  IN MX 10 mail.example.com.
ns.example.com.  IN A  10.0.0.1
mail.example.com.  IN A  10.0.0.2
DELETE
/v2/zones/tasks/exports/{zone_export_id}

Delete a Zone Export

This will just delete the record of the zone export, not the exported zone.

The zone will have to be deleted from the zone delete API

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_export_id

path

uuid

ID for this zone export

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Zone Tasks

Zone tasks.

POST
/v2/zones/{zone_id}/tasks/abandon

Abandon Zone

Abandon a zone.

This removes a zone from the designate database without removing it from the backends.

Note

This POST should have no body.

Warning

This is a protentially dangerous operation, and should only be used if required

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

POST
/v2/zones/{zone_id}/tasks/xfr

Manually Trigger an Update of a Secondary Zone

Trigger a new XFR from the upstream DNS servers

This will cause designate to query the name servers and if the version in Designate is out of date, import the new version.

This is useful if an upstream server failed to send a notify to Designate

Note

This POST should have no body.

Important

This is only useful on SECONDARY zones.

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

POST
/v2/zones/{zone_id}/tasks/pool_move

Pool Move Zone

Move a zone to another pool.

This moves a zone from the existing designate pool to specified target pool. If pool is not specified by admin, designate will determine suitable pool by itself and move zone to that pool.

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

500 - Internal Server Error

Something went wrong with the service which prevents it from fulfilling the request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

pool_id (Optional)

body

uuid

The target pool ID to move the zone into

Request Example

{
    "pool_id": "8e6f1c59-15e7-4a14-8640-8d5e07f95b10"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Shared Zones

Shared zones operations.

GET
/v2/zones/{zone_id}/shares/{zone_share_id}

Show a Zone Share

Show a single zone share.

New in version 2.1

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

500 - Internal Server Error

Something went wrong with the service which prevents it from fulfilling the request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

zone_share_id

path

uuid

ID of the zone share.

New in version 2.1

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

zone_id

body

uuid

ID for the zone being shared.

New in version 2.1

project_id

body

uuid

ID for the project that owns the resource

target_project_id

body

string

The project ID the zone will be shared with.

New in version 2.1

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "id": "fd40b017-bf97-461c-8d30-d4e922b28edd",
    "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898",
    "project_id": "16ade46c85a1435bb86d9138d37da57e",
    "target_project_id": "232e37df46af42089710e2ae39111c2f",
    "created_at": "2022-11-30T22:20:27.000000",
    "updated_at": null,
    "links": {
        "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/fd40b017-bf97-461c-8d30-d4e922b28edd",
        "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898"
    }
}
GET
/v2/zones/{zone_id}/shares

Get All Shared Zones

List all zone shares.

New in version 2.1

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

500 - Internal Server Error

Something went wrong with the service which prevents it from fulfilling the request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

target_project_id (Optional)

query

string

Filter results to only show resources that have a matching target_project_id

New in version 2.1

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

zone_id

body

uuid

ID for the zone being shared.

New in version 2.1

project_id

body

uuid

ID for the project that owns the resource

target_project_id

body

string

The project ID the zone will be shared with.

New in version 2.1

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "shared_zones": [{
        "id": "4495ffbb-b7d1-43e0-9423-f0a4172e5f9e",
        "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898",
        "project_id": "16ade46c85a1435bb86d9138d37da57e",
        "target_project_id": "232e37df46af42089710e2ae39111c2f",
        "created_at": "2022-12-01T23:02:49.000000",
        "updated_at": null,
        "links": {
            "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/4495ffbb-b7d1-43e0-9423-f0a4172e5f9e",
            "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898"
        }
    }, {
        "id": "1f278d08-2f6a-462a-bb49-21a4f6e6d32b",
        "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898",
        "project_id": "16ade46c85a1435bb86d9138d37da57e",
        "target_project_id": "86d78e93698e4b06aad4f62e04afb4c1",
        "created_at": "2022-12-02T01:51:48.000000",
        "updated_at": null,
        "links": {
            "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/1f278d08-2f6a-462a-bb49-21a4f6e6d32b",
            "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898"
        }
    }],
    "links": {
        "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares"
    }
}
POST
/v2/zones/{zone_id}/shares

Create Shared Zone

Share a zone with another project.

New in version 2.1

Success

Code

Reason

201 - Created

Request has been fulfilled and new resource created.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

500 - Internal Server Error

Something went wrong with the service which prevents it from fulfilling the request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

target_project_id

body

string

The project ID the zone will be shared with.

New in version 2.1

Request Example

{
    "target_project_id": "232e37df46af42089710e2ae39111c2f"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

zone_id

body

uuid

ID for the zone being shared.

New in version 2.1

project_id

body

uuid

ID for the project that owns the resource

target_project_id

body

string

The project ID the zone will be shared with.

New in version 2.1

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "id": "fd40b017-bf97-461c-8d30-d4e922b28edd",
    "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898",
    "project_id": "16ade46c85a1435bb86d9138d37da57e",
    "target_project_id": "232e37df46af42089710e2ae39111c2f",
    "created_at": "2022-11-30T22:20:27.000000",
    "updated_at": null,
    "links": {
        "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/fd40b017-bf97-461c-8d30-d4e922b28edd",
        "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898"
    }
}
DELETE
/v2/zones/{zone_id}/shares/{zone_share_id}

Delete a Zone Share

Delete a zone share.

New in version 2.1

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

500 - Internal Server Error

Something went wrong with the service which prevents it from fulfilling the request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

zone_share_id

path

uuid

ID of the zone share.

New in version 2.1

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Zone Ownership Transfers - Requests

Designate allows users to transer ownership of a zone between projects.

The traditional route is to create a zone_transfer_request, communicate the key and ID out of band to the intended owner, and they create a zone_transfer_accept using this information, which will move the ownership of the zone that project.

POST
/v2/zones/{zone_id}/tasks/transfer_requests

Create Zone Transfer Request

This creates an offer to transfer the zone to a different project. The request can be scoped to single project if the project_id parameter is supplied.

Note

This POST can have no body.

Success

Code

Reason

201 - Created

Request has been fulfilled and new resource created.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

target_project_id (Optional)

body

string

A project ID that the request will be limited to. No other project will be allowed to accept this request.

description

body

string

Description for the resource. Only shown in API / Horizon

Request Example

{
    "project_id": "1"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer request

project_id

body

uuid

ID for the project that owns the resource

description

body

string

Description for the resource. Only shown in API / Horizon

status

body

string

Current status of the zone transfer request

zone_id

body

uuid

ID for the zone that is being exported

zone_name

body

string

the name of the zone that is being exported

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

target_project_id (Optional)

body

string

A project ID that the request will be limited to. No other project will be allowed to accept this request.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

Response Example

{
    "created_at": "2014-07-17T20:34:40.882579",
    "description": null,
    "id": "f2ad17b5-807a-423f-a991-e06236c247be",
    "key": "9Z2R50Y0",
    "project_id": "1",
    "status": "ACTIVE",
    "target_project_id": "123456",
    "updated_at": null,
    "zone_id": "6b78734a-aef1-45cd-9708-8eb3c2d26ff8",
    "zone_name": "qa.dev.example.com.",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/f2ad17b5-807a-423f-a991-e06236c247be"
    }
}
GET
/v2/zones/tasks/transfer_requests

List Zone Transfer Requests

This will list all your outgoing requests, and any incoming requests that have been scoped to your project.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

status (Optional)

query

string

Filter results to only show zone_transfer_requests that have a status matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer request

project_id

body

uuid

ID for the project that owns the resource

description

body

string

Description for the resource. Only shown in API / Horizon

status

body

string

Current status of the zone transfer request

zone_id

body

uuid

ID for the zone that is being exported

zone_name

body

string

the name of the zone that is being exported

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

target_project_id (Optional)

body

string

A project ID that the request will be limited to. No other project will be allowed to accept this request.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

Response Example

{
    "transfer_requests": [
        {
            "created_at": "2014-07-17T20:34:40.882579",
            "description": "This was created by the requesting project",
            "id": "f2ad17b5-807a-423f-a991-e06236c247be",
            "key": "9Z2R50Y0",
            "project_id": "1",
            "status": "ACTIVE",
            "target_project_id": "123456",
            "updated_at": null,
            "zone_id": "6b78734a-aef1-45cd-9708-8eb3c2d26ff8",
            "zone_name": "qa.dev.example.com.",
            "links": {
                "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/f2ad17b5-807a-423f-a991-e06236c247be"
            }
        },
        {
            "description": "This is scoped to the requesting project",
            "id": "efd2d720-b0c4-43d4-99f7-d9b53e08860d",
            "zone_id": "2c4d5e37-f823-4bee-9859-031cb44f80e7",
            "zone_name": "subdomain.example.com.",
            "status": "ACTIVE",
            "links": {
                "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/efd2d720-b0c4-43d4-99f7-d9b53e08860d"
            }
        }
    ],
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests"
    }
}
GET
/v2/zones/tasks/transfer_requests/{zone_transfer_request_id}

Show a Zone Transfer Request

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_transfer_request_id

path

uuid

ID for this zone transfer request

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer request

project_id

body

uuid

ID for the project that owns the resource

description

body

string

Description for the resource. Only shown in API / Horizon

status

body

string

Current status of the zone transfer request

zone_id

body

uuid

ID for the zone that is being exported

zone_name

body

string

the name of the zone that is being exported

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

target_project_id (Optional)

body

string

A project ID that the request will be limited to. No other project will be allowed to accept this request.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

Response Example

{
    "description": "This is scoped to the requesting project",
    "id": "efd2d720-b0c4-43d4-99f7-d9b53e08860d",
    "zone_id": "2c4d5e37-f823-4bee-9859-031cb44f80e7",
    "zone_name": "subdomain.example.com.",
    "status": "ACTIVE",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/efd2d720-b0c4-43d4-99f7-d9b53e08860d"
    }
}
PATCH
/v2/zones/tasks/transfer_requests/{zone_transfer_request_id}

Update a Zone Transfer Request

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_transfer_request_id

path

uuid

ID for this zone transfer request

target_project_id (Optional)

body

string

A project ID that the request will be limited to. No other project will be allowed to accept this request.

description

body

string

Description for the resource. Only shown in API / Horizon

Request Example

{
    "description": "This is scoped to the new project",
    "target_project_id": "987654"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer request

project_id

body

uuid

ID for the project that owns the resource

description

body

string

Description for the resource. Only shown in API / Horizon

status

body

string

Current status of the zone transfer request

zone_id

body

uuid

ID for the zone that is being exported

zone_name

body

string

the name of the zone that is being exported

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

target_project_id (Optional)

body

string

A project ID that the request will be limited to. No other project will be allowed to accept this request.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

version

body

integer

Version of the resource

Response Example

{
    "description": "This is scoped to the new project",
    "target_project_id": "987654",
    "id": "efd2d720-b0c4-43d4-99f7-d9b53e08860d",
    "zone_id": "2c4d5e37-f823-4bee-9859-031cb44f80e7",
    "zone_name": "subdomain.example.com.",
    "status": "ACTIVE",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/efd2d720-b0c4-43d4-99f7-d9b53e08860d"
    }
}
DELETE
/v2/zones/tasks/transfer_requests/{zone_transfer_request_id}

Delete a Zone Transfer Request

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_transfer_request_id

path

uuid

ID for this zone transfer request

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Zone Ownership Transfers - Accepts

Designate allows users to transer ownership of a zone between projects.

For the final step, the receiving project has to accept the new zone, using the transfer_accepts API

POST
/v2/zones/tasks/transfer_accepts

Create Zone Transfer Accept

This accepts an offer of a ownership transfer

Success

Code

Reason

201 - Created

Request has been fulfilled and new resource created.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

zone_transfer_request_id

body

uuid

ID for this zone transfer request

Request Example

{
    "key":"FUGXMZ5N",
    "zone_transfer_request_id":"794fdf58-6e1d-41da-8b2d-16b6d10c8827"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer accept

status

body

string

Current status of the zone transfer request

project_id

body

uuid

ID for the project that owns the resource

zone_id

body

uuid

ID for this zone transfer request

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

zone_transfer_request_id

body

uuid

ID for this zone transfer request

links

body

object

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

Response Example

{
    "status": "COMPLETE",
    "zone_id": "b4542f5a-f1ea-4ec1-b850-52db9dc3f465",
    "links": {
        "self": "http://10.0.4.46:9001/v2/zones/tasks/transfer_accepts/fe8c30f5-42f6-4af1-8cbf-e31a810d8c33",
        "zone": "http://10.0.4.46:9001/v2/zones/b4542f5a-f1ea-4ec1-b850-52db9dc3f465"
    },
    "created_at": "2016-06-22 06:13:55",
    "updated_at": "null",
    "key": "FUGXMZ5N",
    "project_id": "2e43de7ce3504a8fb90a45382532c37e",
    "id": "fe8c30f5-42f6-4af1-8cbf-e31a810d8c33",
    "zone_transfer_request_id": "794fdf58-6e1d-41da-8b2d-16b6d10c8827"
}
GET
/v2/zones/tasks/transfer_requests/{zone_transfer_accept_id}

Get Zone Transfer Accept

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_transfer_accept_id

path

uuid

ID for this zone transfer accept

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer accept

status

body

string

Current status of the zone transfer request

project_id

body

uuid

ID for the project that owns the resource

zone_id

body

uuid

ID for this zone transfer request

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

zone_transfer_request_id

body

uuid

ID for this zone transfer request

links

body

object

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

Response Example

{
    "status": "COMPLETE",
    "zone_id": "b4542f5a-f1ea-4ec1-b850-52db9dc3f465",
    "links": {
        "self": "http://10.0.4.46:9001/v2/zones/tasks/transfer_accepts/fe8c30f5-42f6-4af1-8cbf-e31a810d8c33",
        "zone": "http://10.0.4.46:9001/v2/zones/b4542f5a-f1ea-4ec1-b850-52db9dc3f465"
    },
    "created_at": "2016-06-22 06:13:55",
    "updated_at": "null",
    "key": "FUGXMZ5N",
    "project_id": "2e43de7ce3504a8fb90a45382532c37e",
    "id": "fe8c30f5-42f6-4af1-8cbf-e31a810d8c33",
    "zone_transfer_request_id": "794fdf58-6e1d-41da-8b2d-16b6d10c8827"
}
GET
/v2/zones/tasks/transfer_accepts

List Zone Transfer Accepts

This will list all your accepted ownership transfer.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

status (Optional)

query

string

Filter results to only show zone_transfer_accepts that have a status matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for this zone transfer accept

project_id

body

uuid

ID for the project that owns the resource

status

body

string

Current status of the zone transfer request

zone_id

body

uuid

ID for this zone transfer request

key

body

string

Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band.

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

zone_transfer_request_id

body

uuid

ID for this zone transfer request

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
    "metadata": {
         "total_count": 2
     },
     "links": {
         "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_accepts"
     },
     "transfer_accepts": [{
         "status": "COMPLETE",
         "zone_id": "8db93d1a-59e3-4143-a393-5821abea0a46",
         "links": {
             "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_accepts/afb4222b-18b3-44b3-9f54-e0dfdba1be44",
             "zone": "http://127.0.0.1:9001/v2/zones/8db93d1a-59e3-4143-a393-5821abea0a46"
         },
         "created_at": "2016-06-01 05:35:35",
         "updated_at": "2016-06-01 05:35:35",
         "key": null,
         "project_id": "85604ecfb5334b50bd40ca53fc1d710f",
         "id": "afb4222b-18b3-44b3-9f54-e0dfdba1be44",
         "zone_transfer_request_id": "d223f7ef-77a6-459e-abd3-b4dbc97338e7"
       },
       {
         "status": "COMPLETE",
         "zone_id": "925bfc45-8901-4aca-aa12-18afaf0879e2",
         "links": {
             "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_accepts/ecbc7091-c498-4ec4-9893-68b06297fe50",
             "zone": "http://127.0.0.1:9001/v2/zones/925bfc45-8901-4aca-aa12-18afaf0879e2"
         },
         "created_at": "2016-06-01 10:06:36",
         "updated_at": "2016-06-01 10:06:37",
         "key": null,
         "project_id": "85604ecfb5334b50bd40ca53fc1d710f",
         "id": "ecbc7091-c498-4ec4-9893-68b06297fe50",
         "zone_transfer_request_id": "94cf9bd3-4137-430b-bf75-4e690430258c"
       }
     ]
}

Recordsets

Recordsets operations.

POST
/v2/zones/{zone_id}/recordsets

Create Recordset

Create a recordset in a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

name

body

hostname

DNS Name for the recordset

zone_id

path

uuid

ID for the zone

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

records

body

string

A list of data for this recordset. Each item will be a separate record in Designate 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.

Request Example

{
  "name" : "example.org.",
  "description" : "This is an example record set.",
  "type" : "A",
  "ttl" : 3600,
  "records" : [
      "10.1.0.2"
  ]
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "This is an example record set.",
    "links": {
        "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648"
    },
    "updated_at": null,
    "records": [
        "10.1.0.2"
    ],
    "ttl": 3600,
    "id": "f7b10e9b-0cae-4a91-b162-562bc6096648",
    "name": "example.org.",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f",
    "zone_name": "example.com.",
    "created_at": "2014-10-24T19:59:44.000000",
    "version": 1,
    "type": "A",
    "status": "PENDING",
    "action": "CREATE"
}
GET
/v2/zones/{zone_id}/recordsets

List Recordsets in a Zone

This lists all recordsets in a zone

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

limit (Optional)

query

integer

Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

marker (Optional)

query

string

The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

sort_dir (Optional)

query

string

Sorts the response by the requested sort direction. A valid value is asc (ascending) or desc (descending). Default is asc. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

sort_key (Optional)

query

string

Sorts the response by the this attribute value. Default is id. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

name (Optional)

query

string

Filter results to only show recordsets that have a name matching the filter

type (Optional)

query

string

Filter results to only show recordsets that have a type matching the filter

ttl (Optional)

query

string

Filter results to only show recordsets that have a ttl matching the filter

data (Optional)

query

string

Filter results to only show recordsets that have a record with data matching the filter

status (Optional)

query

string

Filter results to only show recordsets that have a status matching the filter

description (Optional)

query

string

Filter results to only show recordsets that have a description matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
    "recordsets": [
        {
            "description": "This is an example record set.",
            "links": {
                "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648"
            },
            "updated_at": null,
            "records": [
                "10.1.0.2"
            ],
            "ttl": 3600,
            "id": "f7b10e9b-0cae-4a91-b162-562bc6096648",
            "name": "example.org.",
            "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
            "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f",
            "zone_name": "example.com.",
            "created_at": "2014-10-24T19:59:44.000000",
            "version": 1,
            "type": "A",
            "status": "PENDING",
            "action": "CREATE"
        }
    ],
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets?limit=1",
        "next": "http://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets?limit=1&marker=45fd892d-7a67-4f65-9df0-87273f228d6c"
    },
    "metadata": {
        "total_count": 2
    }
}
GET
/v2/recordsets

List all Recordsets owned by project

This lists all recordsets owned by a project in Designate

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

limit (Optional)

query

integer

Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

marker (Optional)

query

string

The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

sort_dir (Optional)

query

string

Sorts the response by the requested sort direction. A valid value is asc (ascending) or desc (descending). Default is asc. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

sort_key (Optional)

query

string

Sorts the response by the this attribute value. Default is id. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

name (Optional)

query

string

Filter results to only show recordsets that have a name matching the filter

type (Optional)

query

string

Filter results to only show recordsets that have a type matching the filter

ttl (Optional)

query

string

Filter results to only show recordsets that have a ttl matching the filter

data (Optional)

query

string

Filter results to only show recordsets that have a record with data matching the filter

status (Optional)

query

string

Filter results to only show recordsets that have a status matching the filter

description (Optional)

query

string

Filter results to only show recordsets that have a description matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
    "recordsets": [
        {
            "description": "This is an example record set.",
            "links": {
                "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648"
            },
            "updated_at": null,
            "records": [
                "10.1.0.2"
            ],
            "ttl": 3600,
            "id": "f7b10e9b-0cae-4a91-b162-562bc6096648",
            "name": "example.org.",
            "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
            "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f",
            "zone_name": "example.com.",
            "created_at": "2014-10-24T19:59:44.000000",
            "version": 1,
            "type": "A",
            "status": "PENDING",
            "action": "CREATE"
        }
    ],
    "links": {
        "self": "http://127.0.0.1:9001/v2/recordsets?limit=1",
        "next": "http://127.0.0.1:9001/v2/recordsets?limit=1&marker=45fd892d-7a67-4f65-9df0-87273f228d6c"
    },
    "metadata": {
        "total_count": 2
    }
}
GET
/v2/zones/{zone_id}/recordsets/{recordset_id}

Show a Recordset

Show an single recordset

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

recordset_id

path

uuid

ID for the recordset

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "This is an example record set.",
    "links": {
        "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648"
    },
    "updated_at": null,
    "records": [
        "10.1.0.2"
    ],
    "ttl": 3600,
    "id": "f7b10e9b-0cae-4a91-b162-562bc6096648",
    "name": "example.org.",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f",
    "zone_name": "example.com.",
    "created_at": "2014-10-24T19:59:44.000000",
    "version": 1,
    "type": "A",
    "status": "ACTIVE",
    "action": "NONE"
}
PUT
/v2/zones/{zone_id}/recordsets/{recordset_id}

Update a Recordset

Update a recordset

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

x-designate-edit-managed-records (Optional)

header

bool

If enabled this will all users to edit records flagged as managed

zone_id

path

uuid

ID for the zone

recordset_id

path

uuid

ID for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

description (Optional)

body

string

Description for this recordset

records

body

string

A list of data for this recordset. Each item will be a separate record in Designate 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.

Request Example

{
  "description" : "Updated description",
  "ttl" : null,
  "records" : [
      "10.1.0.2",
      "10.1.0.3"
  ]
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "Updated description",
    "links": {
        "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648"
    },
    "updated_at": null,
    "records": [
        "10.1.0.2",
        "10.1.0.3"
    ],
    "ttl": null,
    "id": "f7b10e9b-0cae-4a91-b162-562bc6096648",
    "name": "example.org.",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f",
    "zone_name": "example.com.",
    "created_at": "2014-10-24T19:59:44.000000",
    "version": 2,
    "type": "A",
    "status": "PENDING",
    "action": "UPDATE"
}
DELETE
/v2/zones/{zone_id}/recordsets/{recordset_id}

Delete a Recordset

Delete a recordset

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

x-designate-edit-managed-records (Optional)

header

bool

If enabled this will all users to edit records flagged as managed

zone_id

path

uuid

ID for the zone

recordset_id

path

uuid

ID for the recordset

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "Updated description",
    "links": {
        "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648"
    },
    "updated_at": null,
    "records": [
        "10.1.0.2",
        "10.1.0.3"
    ],
    "ttl": null,
    "id": "f7b10e9b-0cae-4a91-b162-562bc6096648",
    "name": "example.org.",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f",
    "zone_name": "example.com.",
    "created_at": "2014-10-24T19:59:44.000000",
    "version": 2,
    "type": "A",
    "status": "PENDING",
    "action": "UPDATE"
}
POST
/v2/zones/{zone_id}/recordsets

Create a MX Recordset

Create a MX recordset in a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

x-designate-edit-managed-records (Optional)

header

bool

If enabled this will all users to edit records flagged as managed

zone_id

path

uuid

ID for the zone

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

records

body

string

A list of data for this recordset. Each item will be a separate record in Designate 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.

Request Example

{
    "name" : "mail.example.org.",
    "description" : "An MX recordset.",
    "type" : "MX",
    "ttl" : 3600,
    "records" : [
        "10 mail1.example.org.",
        "20 mail2.example.org.",
        "30 mail3.example.org.",
        "40 mail4.example.org."
    ]
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "status": "PENDING",
    "description": "An MX recordset.",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/c3c1f506-adcf-4751-ae5b-1c5ff00d2e1a"
    },
    "created_at": "2016-06-21 06:34:36",
    "updated_at": null,
    "records": [
        "10 mail1.example.org.",
        "30 mail3.example.org.",
        "20 mail2.example.org.",
        "40 mail4.example.org."
    ],
    "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8",
    "version": 1,
    "ttl": 3600,
    "action": "CREATE",
    "zone_name": "example.org.",
    "type": "MX",
    "id": "c3c1f506-adcf-4751-ae5b-1c5ff00d2e1a",
    "name": "mail.example.org."
}
POST
/v2/zones/{zone_id}/recordsets

Create a SSHFP Recordset

Create a SSHFP recordset in a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

records

body

string

A list of data for this recordset. Each item will be a separate record in Designate 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.

Request Example

{
  "name" : "foo.example.org.",
  "description" : "An SSHFP recordset.",
  "type" : "SSHFP",
  "ttl" : 3600,
  "records" : [
    "1 2 6467a09c59607b01fef22ef6918c44a2eaaa14a5e055cfe91bf614b5796d2df0"
  ]
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "status": "ACTIVE",
    "description": null,
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/5fb9d67c-86ac-4ae9-80d5-4c23f7a16b29"
    },
    "created_at": "2016-06-21 12:15:35",
    "updated_at": null,
    "records": [
        "2 1 75e080122854693164599205f49d7475ed17d09b"
    ],
    "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8",
    "version": 1,
    "ttl": 3600,
    "action": "NONE",
    "zone_name": "example.org.",
    "type": "SSHFP",
    "id": "5fb9d67c-86ac-4ae9-80d5-4c23f7a16b29",
    "name": "foo.example.org."
}
POST
/v2/zones/{zone_id}/recordsets

Create a SPF Recordset

Create a SPF recordset in a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

records

body

string

A list of data for this recordset. Each item will be a separate record in Designate 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.

Request Example

{
  "name" : "foospf.example.org.",
  "description" : "An SPF recordset.",
  "type" : "SPF",
  "ttl" : 3600,
  "records" : [
      "v=spf1 +all"
  ]
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "status": "PENDING",
    "description": "An SPF recordset.",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/c05a6740-2602-4439-bb70-187dd6547c13"
    },
    "created_at": "2016-06-21 12:31:44",
    "updated_at": null,
    "records": [
        "v=spf1 +all"
    ],
    "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8",
    "version": 1,
    "ttl": 3600,
    "action": "CREATE",
    "zone_name": "example.org.",
    "type": "SPF",
    "id": "c05a6740-2602-4439-bb70-187dd6547c13",
    "name": "foospf.example.org."
}
POST
/v2/zones/{zone_id}/recordsets

Create a SRV Recordset

Create a SRV recordset in a zone

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

zone_id

path

uuid

ID for the zone

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

records

body

string

A list of data for this recordset. Each item will be a separate record in Designate 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.

Request Example

{
   "name" : "_http._tcp.example.org.",
   "description" : "An SRV recordset.",
   "type" : "SRV",
   "ttl" : 3600,
   "records" : [
        "10 0 5060 www.example.org."
   ]
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

project_id

body

uuid

ID for the project that owns the resource

name

body

hostname

DNS Name for the recordset

ttl (Optional)

body

integer

TTL (Time to Live) for the recordset.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

zone_id

body

uuid

ID for the zone that contains this recordset

zone_name

body

string

The name of the zone that contains this recordset

description (Optional)

body

string

Description for this recordset

type

body

string

They RRTYPE of the recordset.

version

body

integer

Version of the resource

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "status": "PENDING",
    "description": "An SRV recordset.",
    "links": {
        "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/cc3299b3-c3cd-47e5-9876-8c1d4ad1b88e"
    },
    "created_at": "2016-06-21 12:44:38",
    "updated_at": null,
    "records": [
        "10 0 5060 www.example.org."
    ],
    "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8",
    "version": 1,
    "ttl": 3600,
    "action": "CREATE",
    "zone_name": "example.org.",
    "type": "SRV",
    "id": "cc3299b3-c3cd-47e5-9876-8c1d4ad1b88e",
    "name": "_http._tcp.example.org."
}

Pools

Get information about the pools in a designate install

GET
/v2/pools

List all Pools

Get the list of Pools.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

description

body

string

Description for the resource. Only shown in API / Horizon

id

body

uuid

ID for this pool

attributes

body

object

Key:Value pairs of information about this pool. This information can be used by the scheduler to place zones on the correct pools

project_id

body

uuid

ID for the project that owns the resource

ns_records

body

string

Name Servers for this pool. Any zones hosted by this pool should be delegated to these DNS servers

name

body

string

Name for this pool

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
  "metadata": {
    "total_count": 2
  },
  "links": {
    "self": "http://127.0.0.1:9001/v2/pools"
  },
  "pools": [
    {
      "description": null,
      "id": "794ccc2c-d751-44fe-b57f-8894c9f5c842",
      "project_id": null,
      "created_at": "2015-02-18T22:18:58.000000",
      "attributes": null,
      "ns_records": [
        {
          "hostname": "ns1.example.org.",
          "priority": 1
        }
      ],
      "links": {
        "self": "http://127.0.0.1:9001/v2/pools/794ccc2c-d751-44fe-b57f-8894c9f5c842"
      },
      "name": "default",
      "updated_at": "2015-02-19T15:59:44.000000"
    },
    {
      "description": null,
      "id": "d1716333-8c16-490f-85ee-29af36907605",
      "project_id": "noauth-project",
      "created_at": "2015-02-23T21:56:33.000000",
      "attributes": null,
      "ns_records": [
        {
          "hostname": "ns2.example.org.",
          "priority": 1
        }
      ],
      "links": {
        "self": "http://127.0.0.1:9001/v2/pools/d1716333-8c16-490f-85ee-29af36907605"
      },
      "name": "example_pool",
      "updated_at": null
    }
  ]
}
GET
/v2/pools/{pool_id}

Show a Pool

Get a specific Pool

Normal response codes: 200

Error response codes: 405,404,403,401,400,503

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

pool_id

path

uuid

ID for this pool

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

description

body

string

Description for the resource. Only shown in API / Horizon

id

body

uuid

ID for this pool

attributes

body

object

Key:Value pairs of information about this pool. This information can be used by the scheduler to place zones on the correct pools

project_id

body

uuid

ID for the project that owns the resource

ns_records

body

string

Name Servers for this pool. Any zones hosted by this pool should be delegated to these DNS servers

name

body

string

Name for this pool

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

metadata

body

object

Returns the total_count of resources matching this filter

Response Example

{
  "description": null,
  "id": "d1716333-8c16-490f-85ee-29af36907605",
  "project_id": "noauth-project",
  "created_at": "2015-02-23T21:56:33.000000",
  "attributes": null,
  "ns_records": [
    {
      "hostname": "ns2.example.org.",
      "priority": 1
    }
  ],
  "links": {
    "self": "http://127.0.0.1:9001/v2/pools/d1716333-8c16-490f-85ee-29af36907605"
  },
  "name": "example_pool",
  "updated_at": null
}

Limits

Show the limits for the current project

GET
/v2/limits

Get Project Limits

List project limits

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

max_page_limit

body

integer

The max amount of items allowed per page

max_recordset_name_length

body

integer

The max length of a recordset name

max_recordset_records

body

integer

The max amount of records contained in a recordset

max_zone_name_length

body

integer

The max length of a zone name

max_zone_records

body

integer

The max amount of records in a zone

max_zone_recordsets

body

integer

The max amount of recordsets per zone

max_zones

body

integer

The max amount of zones for this project

min_ttl

body

integer

The lowest ttl allowed on this system

Response Example

{
  "max_page_limit": 1000,
  "max_recordset_name_length": 255,
  "max_recordset_records": 20,
  "max_zone_name_length": 255,
  "max_zone_records": 500,
  "max_zone_recordsets": 500,
  "max_zones": 10,
  "min_ttl": null
}

Tld

Tld operations.

POST
/v2/tlds

Create Tld

Create a tld

Success

Code

Reason

201 - Created

Request has been fulfilled and new resource created.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

name

body

string

Name for this tld

description (Optional)

body

string

Description for this tld

Request Example

{
    "name" : "com",
    "description" : "tld description"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

name

body

string

Name for this tld

description (Optional)

body

string

Description for this tld

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
   "name": "com",
   "links": {
     "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9"
   },
   "created_at": "2016-05-18 05:07:58",
   "updated_at": null,
   "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9",
   "description": "tld description"
}
GET
/v2/tlds/{tld_id}

Show Tld

Show a tld

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

tld_id

path

uuid

ID for this tld

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

name

body

string

Name for this tld

description (Optional)

body

string

Description for this tld

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
   "name": "com",
   "links": {
     "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9"
   },
   "created_at": "2016-05-18 05:07:58",
   "updated_at": null,
   "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9",
   "description": "tld description"
}
GET
/v2/tlds

List Tlds

List the tlds associated with the Project

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

limit (Optional)

query

integer

Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

marker (Optional)

query

string

The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

sort_dir (Optional)

query

string

Sorts the response by the requested sort direction. A valid value is asc (ascending) or desc (descending). Default is asc. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

sort_key (Optional)

query

string

Sorts the response by the this attribute value. Default is id. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

name (Optional)

query

string

Filter results to only show tlds that have a name matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

name

body

string

Name for this tld

description (Optional)

body

string

Description for this tld

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
 "tlds": [
   {
     "name": "edu",
     "links": {
       "self": "http://127.0.0.1:9001/v2/tlds/a7bba387-712b-4b42-9368-4508642c6113"
     },
     "created_at": "2016-05-10 05:21:40",
     "updated_at": null,
     "id": "a7bba387-712b-4b42-9368-4508642c6113",
     "description": "demo TLD"
   },
   {
     "name": "com",
     "links": {
       "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9"
     },
     "created_at": "2016-05-18 05:07:58",
     "updated_at": null,
     "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9",
     "description": "tld description"
   }
 ],
 "links": {"self": "http://127.0.0.1:9001/v2/tlds"
 }
}
PATCH
/v2/tlds/{tld_id}

Update Tld

Update a tld

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

tld_id

path

uuid

ID for this tld

name

body

string

Name for this tld

description (Optional)

body

string

Description for this tld

Request Example

{
    "name" : "org",
    "description" : "Updated the name from com to org"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

name

body

string

Name for this tld

description (Optional)

body

string

Description for this tld

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
  "name": "org",
  "links": {
    "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9"
  },
  "created_at": "2016-05-18 05:07:58",
  "updated_at": "2016-05-18 05:45:24",
  "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9",
  "description": "Updated the name from com to org"
}
DELETE
/v2/tlds/{tld_id}

Delete Tld

Delete a tld

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

tld_id

path

uuid

ID for this tld

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Tsigkey

Transaction signatures (TSIG) is a mechanism used to secure DNS messages and to provide secure server-to-server communication (usually between master and slave server, but can be extended for dynamic updates as well).

POST
/v2/tsigkeys

Create Tsigkeys

Create a new Tsigkey

Success

Code

Reason

201 - Created

Request has been fulfilled and new resource created.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

name

body

string

Name for this tsigkey

algorithm

body

string

The encryption algorithm for this tsigkey

secret

body

string

The actual key to be used

scope

body

string

scope for this tsigkey which can be either ZONE or POOL scope

resource_id

body

string

resource id for this tsigkey which can be either zone or pool id

Request Example

{
    "name": "Example key",
    "algorithm": "hmac-sha256",
    "secret": "SomeSecretKey",
    "scope": "POOL",
    "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

resource_id

body

string

resource id for this tsigkey which can be either zone or pool id

name

body

string

Name for this tsigkey

scope

body

string

scope for this tsigkey which can be either ZONE or POOL scope

secret

body

string

The actual key to be used

algorithm

body

string

The encryption algorithm for this tsigkey

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "links": {
      "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa"
    },
    "name": "Example key",
    "algorithm": "hmac-sha256",
    "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3",
    "created_at": "2016-05-19 05:52:45",
    "updated_at": null,
    "secret": "SomeSecretKey",
    "scope": "POOL",
    "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa"
}
GET
/v2/tsigkeys

List Tsigkeys

List all tsigkeys

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request Parameters

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

limit (Optional)

query

integer

Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

marker (Optional)

query

string

The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.

sort_dir (Optional)

query

string

Sorts the response by the requested sort direction. A valid value is asc (ascending) or desc (descending). Default is asc. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

sort_key (Optional)

query

string

Sorts the response by the this attribute value. Default is id. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the sort_key.

name (Optional)

query

string

Filter results to only show tsigkeys that have a name matching the filter

algorithm (Optional)

query

string

Filter results to only show tsigkeys that have an algorithm matching the filter

scope (Optional)

query

string

Filter results to only show tsigkeys that have a scope matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

resource_id

body

string

resource id for this tsigkey which can be either zone or pool id

name

body

string

Name for this tsigkey

scope

body

string

scope for this tsigkey which can be either ZONE or POOL scope

secret

body

string

The actual key to be used

algorithm

body

string

The encryption algorithm for this tsigkey

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "tsigkeys": [
        {
            "links": {
              "self": "http://127.0.0.1:9001/v2/tsigkeys/f94d03ca-bd55-4321-8e93-8d363737ab5c"
            },
            "name": "Example key",
            "algorithm": "hmac-sha256",
            "resource_id": "5866274f-ee8d-42ee-94f9-29000f040949",
            "created_at": "2016-04-19 18:52:54",
            "updated_at": null,
            "secret": "some secret key",
            "scope": "POOL",
            "id": "f94d03ca-bd55-4321-8e93-8d363737ab5c"
        },
        {
            "links": {
              "self": "http://127.0.0.1:9001/v2/tsigkeys/6bba6f00-dc33-4665-bb37-15f6188bb305"
            },
            "name": "Example key2",
            "algorithm": "hmac-sha256",
            "resource_id": "8a5ba22a-347e-4e92-9747-d2c3e67fbb45",
            "created_at": "2016-05-19 02:17:54",
            "updated_at": null,
            "secret": "SomeSecretKey",
            "scope": "POOL",
            "id": "6bba6f00-dc33-4665-bb37-15f6188bb305"
        },
        {
            "links": {
              "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa"
            },
            "name": "Example key3",
            "algorithm": "hmac-sha256",
            "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3",
            "created_at": "2016-05-19 05:52:45",
            "updated_at": null,
            "secret": "SomeSecretKey", "scope": "POOL",
            "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa"
        }
    ],
    "links": {
        "self": "http://127.0.0.1:9001/v2/tsigkeys"
    }
}
GET
/v2/tsigkeys/{tsigkey_id}

Show a Tsigkey

Show a tsigkey

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

tsigkey_id

path

uuid

ID for this tsigkey

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

resource_id

body

string

resource id for this tsigkey which can be either zone or pool id

name

body

string

Name for this tsigkey

scope

body

string

scope for this tsigkey which can be either ZONE or POOL scope

secret

body

string

The actual key to be used

algorithm

body

string

The encryption algorithm for this tsigkey

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "links": {
      "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa"
    },
    "name": "Example key",
    "algorithm": "hmac-sha256",
    "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3",
    "created_at": "2016-05-19 05:52:45",
    "updated_at": null,
    "secret": "SomeSecretKey",
    "scope": "POOL",
    "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa"
}
PATCH
/v2/tsigkeys/{tsigkey_id}

Update Tsigkey

Update the attribute(s) of an existing tsigkey

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request Parameters

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

name

body

string

Name for this tsigkey

algorithm

body

string

The encryption algorithm for this tsigkey

secret

body

string

The actual key to be used

scope

body

string

scope for this tsigkey which can be either ZONE or POOL scope

resource_id

body

string

resource id for this tsigkey which can be either zone or pool id

tsigkey_id

path

uuid

ID for this tsigkey

Request Example

{
  "name": "example_tsigkey",
  "scope": "ZONE"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

resource_id

body

string

resource id for this tsigkey which can be either zone or pool id

name

body

string

Name for this tsigkey

scope

body

string

scope for this tsigkey which can be either ZONE or POOL scope

secret

body

string

The actual key to be used

algorithm

body

string

The encryption algorithm for this tsigkey

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "links": {
      "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa"
      },
      "name": "example_tsigkey",
      "algorithm": "hmac-sha256",
      "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3",
      "created_at": "2016-05-19 05:52:45",
      "updated_at": "2016-05-19 06:29:14",
      "secret": "SomeSecretKey",
      "scope": "ZONE",
      "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa"
}
DELETE
/v2/tsigkeys/{tsigkey_id}

Delete a Tsigkey

Delete a tsigkey

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

tsigkey_id

path

uuid

ID for this tsigkey

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Blacklists

The blacklist entries are used to manage blacklisted zones. If a zone is blacklisted, then it cannot be used to create a zone. By default, only an admin can manage these entries. Blacklisted zones are stored as a regular expression (regex) pattern in the Database/Storage in the blacklists table.

POST
/v2/blacklists

Create Blacklist

Create a Blacklist

Response codes

Success

Code

Reason

201 - Created

Request has been fulfilled and new resource created.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

500 - Internal Server Error

Something went wrong with the service which prevents it from fulfilling the request.

503 - Service Unavailable

The service cannot handle the request right now.

Request Parameters

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

pattern

body

string

Pattern for this blacklist

description (Optional)

body

string

Description for this blacklist

Request Example

{
  "pattern" : "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$",
  "description" : "This is a blacklisted domain."
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pattern

body

string

Pattern for this blacklist

description (Optional)

body

string

Description for this blacklist

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "This is a blacklisted domain.",
    "links": {
      "self": "http://127.0.0.1:9001/v2/blacklists/af91edb5-ede8-453f-af13-feabdd088f9c"
    },
    "pattern": "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$",
    "created_at": "2016-05-20 06:15:42",
    "updated_at": null,
    "id": "af91edb5-ede8-453f-af13-feabdd088f9c"
}
GET
/v2/blacklists

List Blacklists

List all blacklists

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request Parameters

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

pattern (Optional)

query

string

Filter results to only show blacklists that have a pattern matching the filter

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pattern

body

string

Pattern for this blacklist

description (Optional)

body

string

Description for this blacklist

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "blacklists": [
        {
            "description": "This is a blacklisted domain.",
            "links": {
              "self": "http://127.0.0.1:9001/v2/blacklists/af91edb5-ede8-453f-af13-feabdd088f9c"
            },
            "pattern": "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$",
            "created_at": "2016-05-20 06:15:42",
            "updated_at": null,
            "id": "af91edb5-ede8-453f-af13-feabdd088f9c"
        },
        {
            "description": "Example blacklisted domain.",
            "links": {
              "self": "http://127.0.0.1:9001/v2/blacklists/f26e22f8-619f-4738-9077-0586e7cb76bd"
            },
            "pattern": "^examples\\.com\\.$",
            "created_at": "2016-05-20 06:22:12",
            "updated_at": null,
            "id": "f26e22f8-619f-4738-9077-0586e7cb76bd"
        }
     ],
     "links": {
       "self": "http://127.0.0.1:9001/v2/blacklists"
     }
}
GET
/v2/blacklists/{blacklist_id}

Show Blacklist

Show a blacklist

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

blacklist_id

path

uuid

ID for this blacklist

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pattern

body

string

Pattern for this blacklist

description (Optional)

body

string

Description for this blacklist

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "This is a blacklisted domain.",
    "links": {
      "self": "http://127.0.0.1:9001/v2/blacklists/af91edb5-ede8-453f-af13-feabdd088f9c"
    },
    "pattern": "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$",
    "created_at": "2016-05-20 06:15:42",
    "updated_at": null,
    "id": "af91edb5-ede8-453f-af13-feabdd088f9c"
}
PATCH
/v2/blacklists/{blacklist_id}

Update Blacklist

Update a Blacklist

Normal response codes: 200

Error response codes: 405,404,403,401,400,503

Request Parameters

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

pattern

body

string

Pattern for this blacklist

description (Optional)

body

string

Description for this blacklist

blacklist_id

path

uuid

ID for this blacklist

Request Example

{
    "pattern" : "^examples\\.com\\.$",
    "description" : "Updated the description"
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

uuid

ID for the resource

pattern

body

string

Pattern for this blacklist

description (Optional)

body

string

Description for this blacklist

created_at

body

datestamp

Date / Time when resource was created.

updated_at

body

datestamp

Date / Time when resource last updated.

links

body

object

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

Response Example

{
    "description": "Updated the description",
    "links": {
      "self": "http://127.0.0.1:9001/v2/blacklists/f26e22f8-619f-4738-9077-0586e7cb76bd"
    },
    "pattern": "^examples\\.com\\.$",
    "created_at": "2016-05-20 06:22:12",
    "updated_at": "2016-05-20 06:41:34",
    "id": "f26e22f8-619f-4738-9077-0586e7cb76bd"
}
DELETE
/v2/blacklists/{blacklist_id}

Delete a Blacklist

Delete a blacklist

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

blacklist_id

path

uuid

ID for this blacklist

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Quotas

Quota operations.

GET
/v2/quotas/{project_id}

View Quotas

View a projects quotas

This returns a key:value set of quotas on the system.

Note

If a user is viewing another projects quotas, they will need to set x-auth-all-projects to True

They will need a role with the All-Projects permission to do this.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

project_id

path

uuid

ID for the project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Response Example

{
    "api_export_size": 1000,
    "recordset_records": 20,
    "zone_records": 500,
    "zone_recordsets": 500,
    "zones": 100
}
GET
/v2/quotas/

View Current Project’s Quotas

View the quotas for the current project

This returns a key:value set of quotas on the system.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

project_id

path

uuid

ID for the project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Response Example

{
    "api_export_size": 1000,
    "recordset_records": 20,
    "zone_records": 500,
    "zone_recordsets": 500,
    "zones": 100
}
PATCH
/v2/quotas/{project_id}

Set Quotas

Set a projects quotas

The request should be a key:value set of quotas to be set

This returns a key:value set of quotas on the system.

Note

If a user is updating another projects quotas, they will need to set x-auth-all-projects to True

They will need a role with the “All-Projects” and “set-quotas” permission to do this.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request Example

{
    "zones": 500
}

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

project_id

path

uuid

ID for the project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Response Example

{
    "api_export_size": 1000,
    "recordset_records": 20,
    "zone_records": 500,
    "zone_recordsets": 500,
    "zones": 500
}
DELETE
/v2/quotas/{project_id}

Reset Quotas

Reset all quotas for a project to default

Note

If a user is resetting another projects quotas, they will need to set x-auth-all-projects to True

They will need a role with the All-Projects and “set-quotas” permission to do this.

Success

Code

Reason

204 - No Content

Request fulfilled but service does not return anything.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

project_id

path

uuid

ID for the project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

Service Statuses

The Service Status entries are used to track the health state of the services in the Designate system. Each service will report in it’s health via RPC or using HTTP.

GET
/v2/service_statuses

List Statuses

List all Services and statuses.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request Parameters

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

capabilities

body

dict

Capabilities for the service.

created_at

body

datestamp

Date / Time when resource was created.

heartbeated_at

body

datestamp

The timestamp when the last heartbeat was received.

hostname

body

string

The hostname of the host with the service instance.

id

body

uuid

ID for the resource

links

body

object

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

service_name

body

string

The name of the Designate service instance.

service_statuses

body

array

A list of service_statuses objects.

stats

body

dict

Statistics for the service.

status

body

enum

The status of the resource.

updated_at

body

datestamp

Date / Time when resource last updated.

Response Example

{
    "service_statuses": [
        {
            "links": {
              "self": "http://127.0.0.1:9001/v2/service_statuses/af91edb5-ede8-453f-af13-feabdd088f9c"
            },
            "hostname": "dns-2.example.com.",
            "status": "UP",
            "service_name": "api",
            "stats": null,
            "capabilities": null,
            "created_at": "2016-05-20 06:15:42",
            "heartbeated_at": "2016-07-20 12:14:41",
            "id": "af91edb5-ede8-453f-af13-feabdd088f9c"
        }
     ],
     "links": {
       "self": "http://127.0.0.1:9001/v2/service_statuses"
     }
}
GET
/v2/service_statuses/{service_id}

Show a Service Status

Show the status of a service.

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request Parameters

Name

In

Type

Description

service_id

path

uuid

ID for the service.

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

capabilities

body

dict

Capabilities for the service.

created_at

body

datestamp

Date / Time when resource was created.

heartbeated_at

body

datestamp

The timestamp when the last heartbeat was received.

hostname

body

string

The hostname of the host with the service instance.

id

body

uuid

ID for the resource

links

body

object

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

service_name

body

string

The name of the Designate service instance.

stats

body

dict

Statistics for the service.

status

body

enum

The status of the resource.

updated_at

body

datestamp

Date / Time when resource last updated.

Response Example

{
  "id": "c0bcb136-5f5c-4427-9f89-99d457819917",
  "hostname": "dns-2.example.com",
  "service_name": "central",
  "status": "UP",
  "stats": {},
  "capabilities": {},
  "heartbeated_at": "2021-03-24T23:51:12.000000",
  "created_at": "2021-03-22T20:59:24.000000",
  "updated_at": "2021-03-24T23:51:12.000000",
  "links": {
    "self": "http://10.21.21.88/v2/service_statuses/c0bcb136-5f5c-4427-9f89-99d457819917"
  }
}

FloatingIPs

In order to use the FloatingIPs functionality you will need to have a FloatingIP associated to your project in Neutron.

PATCH
/v2/reverse/floatingips/{region}:{floatingip_id}

Set FloatingIP’s PTR record

Set a PTR record for the given FloatingIP. The domain if it does not exist will be provisioned automatically.

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

409 - Conflict

This resource has an action in progress that would conflict with this request.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

ptrdname

body

string

Domain name for this PTR record

description

body

string

Description for this PTR record

ttl

body

uuid

Time to live for this PTR record

region

path

string

Openstack region

floatingip_id

path

uuid

ID for the floatingip associated with the project

Request Example

{
  "ptrdname" : "smtp.example.com.",
  "description" : "This is a floating ip for 10.0.0.8",
  "ttl": 600
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

string

ID for PTR record in the format of <region>:<floatingip_id>

ptrdname

body

string

Domain name for this PTR record

description

body

string

Description for this PTR record

ttl

body

uuid

Time to live for this PTR record

address

body

string

The floatingip address for this PTR record.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

links

body

object

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

Response Example

{
    "status": "PENDING",
    "ptrdname": "smtp.example.com.",
    "description": "This is a floating ip for 127.0.0.1",
    "links": {
        "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96"
    },
    "ttl": 600,
    "address": "172.24.4.10",
    "action": "CREATE",
    "id": "RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96"
}
GET
/v2/reverse/floatingips/{region}:{floatingip_id}

Show FloatingIP’s PTR record

Shows a particular FloatingIP PTR

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

region

path

string

Openstack region

floatingip_id

path

uuid

ID for the floatingip associated with the project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

string

ID for PTR record in the format of <region>:<floatingip_id>

ptrdname

body

string

Domain name for this PTR record

description

body

string

Description for this PTR record

ttl

body

uuid

Time to live for this PTR record

address

body

string

The floatingip address for this PTR record.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

links

body

object

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

Response Example

{
    "status": "PENDING",
    "ptrdname": "smtp.example.com.",
    "description": "This is a floating ip for 127.0.0.1",
    "links": {
        "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96"
    },
    "ttl": 600,
    "address": "172.24.4.10",
    "action": "CREATE",
    "id": "RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96"
}
GET
/v2/reverse/floatingips

List FloatingIP’s PTR record

List FloatingIP PTR records

Success

Code

Reason

200 - OK

Request was successful.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request

id

body

string

ID for PTR record in the format of <region>:<floatingip_id>

ptrdname

body

string

Domain name for this PTR record

description

body

string

Description for this PTR record

ttl

body

uuid

Time to live for this PTR record

address

body

string

The floatingip address for this PTR record.

status

body

enum

The status of the resource.

action

body

enum

current action in progress on the resource

links

body

object

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

Response Example

{
    "links": {
        "self": "http://127.0.0.1:9001/v2/reverse/floatingips"
    },
    "floatingips": [
      {
          "status": "ACTIVE",
          "ptrdname": "smtp.example.com.",
          "description": null,
          "links": {
              "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96"
          },
          "ttl": 600,
          "address": "172.24.4.10",
          "action": "NONE",
          "id": "RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96"
      },
      {
          "status": "ACTIVE",
          "ptrdname": "tftp.example.com.",
          "description": null,
          "links": {
              "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:9860717d-3da6-43df-a0ec-fa8b0e71ea86"
          },
          "ttl": 600,
          "address": "172.24.4.6",
          "action": "NONE",
          "id": "RegionOne:9860717d-3da6-43df-a0ec-fa8b0e71ea86"
      }
    ]
}
PATCH
/v2/reverse/floatingips/{region}:{floatingip_id}

Unset FloatingIP’s PTR record

Unset the PTR record for a FloatingIP

Success

Code

Reason

202 - Accepted

Request is accepted, but processing may take some time.

Error

Code

Reason

400 - Bad Request

Some content in the request was invalid.

401 - Unauthorized

User must authenticate before making a request.

403 - Forbidden

Policy does not allow current user to do this operation.

404 - Not Found

The requested resource could not be found.

405 - Method Not Allowed

Method is not valid for this endpoint and resource.

503 - Service Unavailable

The service cannot handle the request right now.

Request

Name

In

Type

Description

x-auth-token (Optional)

header

string

Token used to identify the user from keystone

x-auth-all-projects (Optional)

header

bool

If enabled this will show results from all projects in Designate

x-auth-sudo-project-id (Optional)

header

string

This allows a user to impersonate another project

region

path

string

Openstack region

floatingip_id

path

uuid

ID for the floatingip associated with the project

Request Example

{
    "ptrdname": null
}

Response Parameters

Name

In

Type

Description

x-openstack-request-id

header

string

ID of the request