Boundaries

Geo location and IP boundaries are managed together. Geo locations have a locations field and IPs have an ips field.

Fields

  • external_ref - Arbitrary identifier used to cross reference this boundary with a record in your app.
  • host_ids - Array of associated Host IDs. (Read-only)
  • id - DNScaster’s ID for the boundary, eg: bnd_sample123456. (Read-only)
  • in_use - When true, ineligible to be deleted (likely in use by a host). (Read-only)
  • ips - For IP boundaries, an array of CIDR IP address blocks.
  • locations - For Geo location boundaries, an array of location tags.
  • name - A descriptive name of the boundary.
  • nameserver_set_id - Nameserver set to which this boundary belongs.
  • object - Always boundary. (Read-only)

List boundaries

Query params
  • external_ref - Filter by external_ref.
  • nameserver_set_id - Filter by nameserver_set_id.
  • Plus standard paging params.
    • sort - Fields: id (default), name.
Request
GET /v1/boundaries
Response

On success, 200 with 0 or more boundaries.

{
  "collection": [
    {
      "external_ref": null,
      "host_ids": [
        "hst_sample123456"
      ],
      "id": "bnd_sample123456",
      "ips": [
        "10.0.0.0/16"
      ],
      "locations": [],
      "name": "Private",
      "nameserver_set_id": "nst_sample123456",
      "object": "boundary"
    },
    {
      "external_ref": null,
      "host_ids": [],
      "id": "bnd_sample123456",
      "ips": [],
      "locations": [
        "nam"
      ],
      "name": "North America",
      "nameserver_set_id": "nst_sample123456",
      "object": "boundary"
    }
  ],
  "more_results": false
}

Retrieve a boundary

Request
GET /v1/boundaries/bnd_sample123456
Response

On success, 200 with the boundary.

{
  "external_ref": null,
  "host_ids": [
    "hst_sample123456"
  ],
  "id": "bnd_sample123456",
  "in_use": true,
  "ips": [
    "10.0.0.0/16"
  ],
  "locations": [],
  "name": "Private",
  "nameserver_set_id": "nst_sample123456",
  "object": "boundary"
}

Create a boundary

Request
POST /v1/boundaries
{
  "boundary": {
    "locations": [
      "eur"
    ],
    "name": "Europe",
    "nameserver_set_id": "nst_sample123456"
  }
}
Response

On success, 201 with the new boundary.
On error, 422 with standard error response.

{
  "external_ref": null,
  "host_ids": [],
  "id": "bnd_sample123456",
  "in_use": false,
  "ips": [],
  "locations": [
    "eur"
  ],
  "name": "Europe",
  "nameserver_set_id": "nst_sample123456",
  "object": "boundary"
}

Update a boundary

Request
PUT /v1/boundaries/bnd_sample123456
{
  "boundary": {
    "locations": "nam sam",
    "name": "Americas"
  }
}
Response

On success, 200 with the updated boundary.
On error, 422 with standard error response.

{
  "external_ref": null,
  "host_ids": [],
  "id": "bnd_sample123456",
  "in_use": false,
  "ips": [],
  "locations": [
    "nam",
    "sam"
  ],
  "name": "Americas",
  "nameserver_set_id": "nst_sample123456",
  "object": "boundary"
}

Delete a boundary

Request
DELETE /v1/boundaries/bnd_sample123456
Response

On success, 202 with an empty response.
On error, 422 with standard error response.