OpenStack API Documentation

DNS API

API Versions

Show all enabled API versions

GET
/

List all API versions

Normal response codes: 200

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

Request

No parameters needed

Response Parameters

Name In Type Description
x-openstack-request-id header string ID of the request

Response Example

{
    "versions": {
        "values": [
            {
                "id": "v1",
                "links": [
                    {
                        "href": "http://127.0.0.1:9001/v1",
                        "rel": "self"
                    }
                ],
                "status": "DEPRECATED"
            },
            {
                "id": "v2",
                "links": [
                    {
                        "href": "http://127.0.0.1:9001/v2",
                        "rel": "self"
                    }
                ],
                "status": "CURRENT"
            }
        ]
    }
}

Zone

Zone operations.

POST
/v2/zones

Create Zone

Create a zone

Normal response codes: 202

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

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

Request Example

{
    "name": "example.org.",
    "email": "[email protected]",
    "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 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 (Optional) 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": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "[email protected]",
    "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,
    "links": {
      "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
    }
}
GET
/v2/zones

List Zones

List all zones

Normal response codes: 200

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

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 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 (Optional) 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

{
    "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": "[email protected]",
            "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,
            "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

Normal response codes: 200

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

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 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 (Optional) 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": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "[email protected]",
    "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,
    "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

Normal response codes: 200

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

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.

Normal response codes: 202

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

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 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 (Optional) 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": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "[email protected]",
    "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,
    "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

Normal response codes: 202

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

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 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 (Optional) 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": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3",
    "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2",
    "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66",
    "name": "example.org.",
    "email": "[email protected]",
    "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

Normal response codes: 202

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 204

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

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

Normal response codes: 202

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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

Normal response codes: 204

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

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

Normal response codes: 204

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

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.

Normal response codes: 202

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

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

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.

Normal response codes: 201

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

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 (Optional) 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.

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 204

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

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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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.

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 202

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

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 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 (Optional) 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

Normal response codes: 200

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

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 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 (Optional) 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

Normal response codes: 200

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

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 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 (Optional) 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

Normal response codes: 200

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

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 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 (Optional) 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

Normal response codes: 202

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

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 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 (Optional) 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

Normal response codes: 202

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

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 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 (Optional) 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

Normal response codes: 202

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

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 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 (Optional) 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 MX recordset in a zone

Normal response codes: 202

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

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 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 (Optional) 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 MX recordset in a zone

Normal response codes: 202

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

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 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 (Optional) 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 MX recordset in a zone

Normal response codes: 202

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

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 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 (Optional) 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.

Normal response codes: 200

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

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 (Optional) 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

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 (Optional) 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

Normal response codes: 200

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

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

Normal response codes: 201

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

Normal response codes: 204

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

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

Normal response codes: 201

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

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 (Optional) 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

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
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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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

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
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 (Optional) 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

Normal response codes: 204

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

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

Normal response codes: 201

Error response codes: 409, 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

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 (Optional) 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

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 (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 (Optional) 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

Normal response codes: 200

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

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 (Optional) 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 (Optional) 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

Normal response codes: 204

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

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.

Normal response codes: 200

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

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.

Normal response codes: 200

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

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.

Normal response codes: 200

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

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.

Normal response codes: 204

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

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_status

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
id body uuid ID for the resource

Response Example

{
    "service_statuses": [
        {
            "links": {
              "self": "http://127.0.0.1:9001/v2/service_status/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_status"
     }
}

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.

Normal response codes: 202

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

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 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

Normal response codes: 200

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

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 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

Normal response codes: 200

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

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 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

Normal response codes: 202

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

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
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

Contents