UNPKG

@itentialopensource/adapter-ns1_enterprise

Version:

This adapter integrates with system described as: ns1_enterprise.

1,691 lines 70.3 kB
{ "swagger" : "2.0", "info" : { "version" : "1.0.0", "title" : "NS1_Enterprise", "termsOfService" : "http://swagger.io/terms/", "contact" : { "email" : "support@itential.com" }, "license" : { "name" : "Apache 2.0", "url" : "http://www.apache.org/licenses/LICENSE-2.0.html" } }, "host" : "api.mycompany.net", "basePath" : "/v1/", "tags" : [ { "name" : "Operations", "description" : "Manager Operations" }, { "name" : "Service Definitions", "description" : "Manage Service Definitions" }, { "name" : "Service Groups", "description" : "Manage Service Groups" }, { "name" : "IPAM", "description" : "IP Address Management" }, { "name" : "DHCP", "description" : "DHCP" }, { "name" : "Active Directory", "description" : "Configure an Active Directory server configuration for the organization for using Active Directory authentication and role-based access controls." } ], "schemes" : [ "https" ], "paths" : { "/ops/bootstrap" : { "post" : { "tags" : [ "Operations" ], "summary" : "Bootstrap the first operator user", "description" : "When no operator users exist in the main database, the bootstrap endpoint is enabled. This is the only endpoint which does not require authentication. Note: Bootstrap can only be performed once. If the returned API key is lost, the system must be deployed again.", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/OperatorUser" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/NewOperatorUser" } }, "400" : { "description" : "failed operation" } } } }, "/ops/operators" : { "get" : { "tags" : [ "Operations" ], "summary" : "View all operator users", "description" : "Returns a list of all operator users in the system.", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/OperatorUser" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "Operations" ], "summary" : "Create a new operator user", "description" : "Create a new operator user for the system. In addition to creating other operators, organizations, and services; operators can act as administrators on behalf of any organization in the system where users within a tenant organization only have access to that organization’s resources (e.g. zones, records, API keys, etc.).", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/OperatorUser" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/OperatorUser" } }, "400" : { "description" : "failed operation" } } } }, "/ops/operators/{operator-id}" : { "get" : { "tags" : [ "Operations" ], "summary" : "View operator details", "description" : "Returns information about the operator user.", "parameters" : [ { "name" : "operator-id", "in" : "path", "description" : "Operator ID", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/OperatorUser" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "Operations" ], "summary" : "Modify details of an operator", "description" : "Updates an operator's information.", "parameters" : [ { "name" : "operator-id", "in" : "path", "description" : "Operator ID", "required" : true, "type" : "string" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/OperatorUser" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/OperatorUser" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "Operations" ], "summary" : "Delete an operator", "description" : "Removes another operator from the system. An operator cannot remove themselves.", "parameters" : [ { "name" : "operator-id", "in" : "path", "description" : "Operator ID", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation" }, "400" : { "description" : "failed operation" } } } }, "/ops/orgs" : { "get" : { "tags" : [ "Operations" ], "summary" : "View a list of organizations", "description" : "Returns a list of the tenant organizations.", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Organization" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "Operations" ], "summary" : "Create an organization", "description" : "Create a new tenant organization.", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Organization" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Organization" } }, "400" : { "description" : "failed operation" } } } }, "/ops/orgs/{orgid}" : { "get" : { "tags" : [ "Operations" ], "summary" : "View organization details", "description" : "Returns the details of an organization.", "parameters" : [ { "name" : "orgid", "in" : "path", "description" : "Organization ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Organization" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "Operations" ], "summary" : "Modify an organization", "description" : "Modify the organization's name.", "parameters" : [ { "name" : "orgid", "in" : "path", "description" : "Organization ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Organization" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Organization" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "Operations" ], "summary" : "Delete an organization", "description" : "Delete a tenant organization. This operation requires adding the token parameter with the operator's 2FA TOTP token.", "parameters" : [ { "name" : "orgid", "in" : "path", "description" : "Organization ID", "required" : true, "type" : "integer" }, { "name" : "token", "in" : "query", "description" : "2FA TOTP token", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation" }, "400" : { "description" : "failed operation" } } } }, "/ops/orgs/{orgid}/service/groups" : { "get" : { "tags" : [ "Operations" ], "summary" : "View service groups associated with an organization", "description" : "Returns a list of all service groups associated with an organization.", "parameters" : [ { "name" : "orgid", "in" : "path", "description" : "Organization ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/ServiceGroup" } } }, "400" : { "description" : "failed operation" } } } }, "/ops/service/defs" : { "get" : { "tags" : [ "Service Definitions" ], "summary" : "View list of service definitions", "description" : "Returns a list of all services of every type.", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/ServiceDefinition" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "Service Definitions" ], "summary" : "Create a new service definition", "description" : "Create a new service definition (e.g. DNS Pools or DHCP Service). Service definitions groups application data for propagation to edge nodes.", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/ServiceDefinition" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ServiceDefinition" } }, "400" : { "description" : "failed operation" } } } }, "/ops/service/defs/{definitionid}" : { "get" : { "tags" : [ "Service Definitions" ], "summary" : "View service definition details", "description" : "Returns the details of a service definition.", "parameters" : [ { "name" : "definitionid", "in" : "path", "description" : "Service Definition ID", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ServiceDefinition" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "Service Definitions" ], "summary" : "Modify a service definition", "description" : "Modify a service definition's information.", "parameters" : [ { "name" : "definitionid", "in" : "path", "description" : "Service Definition ID", "required" : true, "type" : "string" }, { "in" : "body", "name" : "body", "description" : "Service Definition Object", "required" : true, "schema" : { "$ref" : "#/definitions/ServiceDefinition" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ServiceDefinition" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "Service Definitions" ], "summary" : "Delete a service definition", "description" : "Delete a service definition.", "parameters" : [ { "name" : "definitionid", "in" : "path", "description" : "Service Definition ID", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "object" } }, "400" : { "description" : "failed operation" } } } }, "/ops/service/groups" : { "get" : { "tags" : [ "Service Groups" ], "summary" : "View a list of service groups", "description" : "Returns a list of all service groups.", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/ServiceGroup" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "Service Groups" ], "summary" : "Create a service group", "description" : "Creates a new service group.", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/ServiceGroup" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ServiceGroup" } }, "400" : { "description" : "failed operation" } } } }, "/ops/service/groups/{servicegroupid}" : { "get" : { "tags" : [ "Service Groups" ], "summary" : "View service group details", "description" : "Returns details of a service group.", "parameters" : [ { "name" : "servicegroupid", "in" : "path", "description" : "Service Group ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ServiceGroup" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "Service Groups" ], "summary" : "Modify a service group", "description" : "Modify a service group's name.", "parameters" : [ { "name" : "servicegroupid", "in" : "path", "description" : "Service Group ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ServiceGroup" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "Service Groups" ], "summary" : "Delete a service group", "description" : "Deletes a service group from the system.", "parameters" : [ { "name" : "servicegroupid", "in" : "path", "description" : "Service Group ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "object" } }, "400" : { "description" : "failed operation" } } } }, "/ops/service/groups/{servicegroupid}/org/{orgid}" : { "post" : { "tags" : [ "Service Groups" ], "summary" : "Associate with an organization", "description" : "Associate a service group with an organization. The tenant organization will have access to resources in this service group such as its DNS Pools and DHCP services.", "parameters" : [ { "name" : "servicegroupid", "in" : "path", "description" : "Service Group ID", "required" : true, "type" : "integer" }, { "name" : "orgid", "in" : "path", "description" : "Organization ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/inline_response_200" } }, "400" : { "description" : "failed operation" } } } }, "/ops/service/groups/{servicegroupid}/orgs" : { "get" : { "tags" : [ "Service Groups" ], "summary" : "View organizations associated with a service group", "description" : "Returns a list of organizations with access to this service group.", "parameters" : [ { "name" : "servicegroupid", "in" : "path", "description" : "Service Group ID", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Organization" } } }, "400" : { "description" : "failed operation" } } } }, "/ipam/network" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a list of networks", "description" : "Returns a list of all networks", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Network" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "IPAM" ], "summary" : "Create a network", "description" : "Create a network", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Network" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Network" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/network/{networkId}" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a network", "description" : "View a network", "parameters" : [ { "name" : "networkId", "in" : "path", "description" : "Network ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Network" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "IPAM" ], "summary" : "Update a network", "description" : "Update a network", "parameters" : [ { "name" : "networkId", "in" : "path", "description" : "Network ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Network" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Network" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "IPAM" ], "summary" : "Remove a network", "description" : "Remove a network", "parameters" : [ { "name" : "networkId", "in" : "path", "description" : "Network ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "object" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/network/{networkId}/report" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a network report", "description" : "Get a report of network usage", "parameters" : [ { "name" : "networkId", "in" : "path", "description" : "Network ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/NetworkReport" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a list of root addresses", "description" : "Returns a list of all root addresses (i.e. indent == 0) in all networks for the requesting organization.", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Subnet" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "IPAM" ], "summary" : "Create a subnet", "description" : "Create a subnet", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Subnet" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/search" : { "get" : { "tags" : [ "IPAM" ], "summary" : "Search for an address object", "description" : "Returns a list of matching objects in the IP address management.", "parameters" : [ { "name" : "network", "in" : "query", "required" : false, "type" : "integer" }, { "name" : "max", "in" : "query", "required" : false, "type" : "integer" }, { "name" : "status", "in" : "query", "required" : false, "type" : "string" }, { "name" : "tag", "in" : "query", "required" : false, "type" : "string" }, { "name" : "order_by", "in" : "query", "required" : false, "type" : "string" }, { "name" : "asc_desc", "in" : "query", "required" : false, "type" : "string" }, { "name" : "mask", "in" : "query", "required" : false, "type" : "integer" }, { "name" : "prefix", "in" : "query", "required" : false, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Subnet" } } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{addressId}" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a subnet", "description" : "View a subnet", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "IPAM" ], "summary" : "Edit a subnet", "description" : "Edit a subnet", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Subnet" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "IPAM" ], "summary" : "Delete a subnet", "description" : "Delete a subnet", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{addressId}/split" : { "post" : { "tags" : [ "IPAM" ], "summary" : "Split a subnet", "description" : "Splitting an entire block of unassigned IP space into equal pieces. This will not function with ranges or individual hosts. Normal breaking out of a subnet is done with the standard PUT route. (Eg. root address is a /24 and request for /29s will break it into 32 /29s)\n\n- Only planned subnets can be split\n- Name and description will be unset on children\n- KVPS and options will be copied; tags will be inherited as per normal\n", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Subnet" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{addressId}/merge" : { "post" : { "tags" : [ "IPAM" ], "summary" : "Merge a subnet", "description" : "Merge a subnet", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/body" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{addressId}/children" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View address children", "description" : "Request a list of all child addresses (or subnets) for the specified IP address.", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Subnet" } } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{addressId}/parent" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View address parent", "description" : "Request a list of all parent addresses (or subnets) for the specified IP address.", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Subnet" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{addressId}/adjacent" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View next (or previous) available prefix", "description" : "Retrieves next or previous (aka adjacent) available IP address.", "parameters" : [ { "name" : "addressId", "in" : "path", "description" : "Address ID", "required" : true, "type" : "integer" }, { "name" : "previous", "in" : "query", "required" : false, "type" : "boolean" }, { "name" : "X-NSONE-Key", "in" : "header", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/inline_response_200_1" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{subnet_id}/pool" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a subnet", "description" : "View a subnet", "parameters" : [ { "name" : "subnet_id", "in" : "path", "description" : "Subnet ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/PoolOfIPAddresses" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "IPAM" ], "summary" : "Create a pool (IP range) within a subnet", "description" : "Creates a pool (range of IP addresses) under a given subnet.", "parameters" : [ { "name" : "subnet_id", "in" : "path", "description" : "Subnet ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/PoolOfIPAddresses" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/PoolOfIPAddresses" } }, "400" : { "description" : "failed operation" } } } }, "/ipam/address/{subnet_id}/pool/{pool_id}" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View a pool (IP range) within a subnet", "description" : "Returns a pool (range of IP addresses) under a given subnet.", "parameters" : [ { "name" : "subnet_id", "in" : "path", "description" : "Subnet ID", "required" : true, "type" : "integer" }, { "name" : "pool_id", "in" : "path", "description" : "Pool ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/PoolOfIPAddresses" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "IPAM" ], "summary" : "Update a pool (IP range) within a subnet", "description" : "Updates a pool (range of IP addresses) under a given subnet.", "parameters" : [ { "name" : "subnet_id", "in" : "path", "description" : "Subnet ID", "required" : true, "type" : "integer" }, { "name" : "pool_id", "in" : "path", "description" : "Pool ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/PoolOfIPAddresses" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/PoolOfIPAddresses" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "IPAM" ], "summary" : "Delete a pool (IP range) within a subnet", "description" : "Deletes a pool (range of IP addresses) under a given subnet.", "parameters" : [ { "name" : "subnet_id", "in" : "path", "description" : "Subnet ID", "required" : true, "type" : "integer" }, { "name" : "pool_id", "in" : "path", "description" : "Pool ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation" }, "400" : { "description" : "failed operation" } } } }, "/ipam/tags" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View all tags", "description" : "Get a list of all tags used by this organization", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "type" : "string" } } }, "400" : { "description" : "failed operation" } } } }, "/ipam/keys" : { "get" : { "tags" : [ "IPAM" ], "summary" : "View all organization keys", "description" : "Get a list of all keys used by this organization for key-value pairs", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "type" : "string" } } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/scope" : { "get" : { "tags" : [ "DHCP" ], "summary" : "Generate a list of the active scopes", "description" : "Generate a list of the active scopes", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Scope" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "DHCP" ], "summary" : "Create a scope", "description" : "Create a scope.\n\n**Note**: The DHCP server, if enabled, will allocate addresses from the associated IP address, grant any DHCP options associated with the address. The address and scope group must each meet certain invariants or else the request will result in a **422**.\n\nThe address must:\n - be of type `assignment`.\n - not already be assigned to another scope group\n\n`options` should be supported for the address' protocol.\n", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Scope" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Scope" } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/scope/{scopeID}" : { "get" : { "tags" : [ "DHCP" ], "summary" : "View scope details", "description" : "Request details about a specific scope.", "parameters" : [ { "name" : "scopeID", "in" : "path", "description" : "Scope ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Scope" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "DHCP" ], "summary" : "Modify a scope", "description" : "Modify a scope", "parameters" : [ { "name" : "scopeID", "in" : "path", "description" : "Scope ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Scope" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Scope" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "DHCP" ], "summary" : "Remove a scope", "description" : "Once removed, the address will no longer be used for leases and any current leases will be reclaimed.", "parameters" : [ { "name" : "scopeID", "in" : "path", "description" : "Scope ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Scope" } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/scope/group" : { "get" : { "tags" : [ "DHCP" ], "summary" : "List scope groups", "description" : "Request a list of all scope groups", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/ScopeGroup" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "DHCP" ], "summary" : "Create a scope group", "description" : "Creates a scope group with global settings and options.Options must be valid for the address's IP protocol. If the option has already been set, this request will overwrite it.", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/ScopeGroup" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ScopeGroup" } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/scopegroup/{scopegroupID}" : { "get" : { "tags" : [ "DHCP" ], "summary" : "View scope group", "description" : "Request information about a scope groups using its unique ID.", "parameters" : [ { "name" : "scopegroupID", "in" : "path", "description" : "Scope Group ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ScopeGroup" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "DHCP" ], "summary" : "Update scope group by ID", "description" : "Update scope group by ID", "parameters" : [ { "name" : "scopegroupID", "in" : "path", "description" : "Scope Group ID", "required" : true, "type" : "integer" }, { "name" : "X-NSONE-Key", "in" : "header", "required" : true, "type" : "string" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/ScopeGroup" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ScopeGroup" } }, "400" : { "description" : "failed operation" } } }, "delete" : { "tags" : [ "DHCP" ], "summary" : "Remove scope group by ID", "description" : "Remove scope group by ID", "parameters" : [ { "name" : "scopegroupID", "in" : "path", "description" : "Scope Group ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/ScopeGroup" } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/scopegroup/{scopegroupID}/report" : { "get" : { "tags" : [ "DHCP" ], "summary" : "Returns a report about the specified scope group.", "description" : "Returns a report about the specified scope group.", "parameters" : [ { "name" : "scopegroupID", "in" : "path", "description" : "Scope Group ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/NetworkReport" } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/reservation" : { "get" : { "tags" : [ "DHCP" ], "summary" : "List reservations", "description" : "Request a list of all active DHCP reservations.", "parameters" : [ ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "type" : "array", "items" : { "$ref" : "#/definitions/Reservation" } } }, "400" : { "description" : "failed operation" } } }, "put" : { "tags" : [ "DHCP" ], "summary" : "Create a reservation", "description" : "Creates a new host reservation.\n\n**Note**: Currently, the reservation must be associated with an address. The DHCP server, if enabled, will provide the associated IP address and any DHCP options to the client with the associated MAC address. The address and scope group must each meet certain invariants or else the request will result in a 422.\n\nThe address must:\n\n- Be of status = assigned.\n- Not be associated with another scope group\n- Not have another conflicting reservation\n\nThe scope group must:\n\n- Only contain reservations and scopes from a single network.\n\nOptions should be supported for the address' protocol.\n", "parameters" : [ { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Reservation" } } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Reservation" } }, "400" : { "description" : "failed operation" } } } }, "/dhcp/reservation/{reservationId}" : { "get" : { "tags" : [ "DHCP" ], "summary" : "View a reservation's details", "description" : "View a reservation's details", "parameters" : [ { "name" : "reservationId", "in" : "path", "description" : "Reservation ID", "required" : true, "type" : "integer" } ], "responses" : { "200" : { "description" : "successful operation", "schema" : { "$ref" : "#/definitions/Reservation" } }, "400" : { "description" : "failed operation" } } }, "post" : { "tags" : [ "DHCP" ], "summary" : "Modify a reservation", "description" : "Modify an existing DHCP reservation.\n\n**Note**: The DHCP server, if enabled, will provide the associated IP address and any DHCP options to the client with the associated MAC address. The address and scope group must each meet certain invariants or else the request will result in a **422**.\n\nThe `address` must:\n\n - Be of type `host`.\n - Not be associated with another `scope group`\n - Not have another conflicting `reservation`\n\n`options` should be supported for the address' protocol.\n", "parameters" : [ { "name" : "reservationId", "in" : "path", "description" : "Reservation ID", "required" : true, "type" : "integer" }, { "in" : "body", "name" : "body", "required" : true, "schema" : { "$ref" : "#/definitions/Reservation" } } ], "responses" : { "200" : { "descript