Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/webscale-networks:webscale-networks-address-sets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Webscale Address sets API
version: '2026.273'
description: The Webscale APIs allow programmatic access to the Webscale services.
servers:
- url: https://api.webscale.com/v2
security:
- access_key: []
tags:
- name: Address sets
x-tag-expanded: false
paths:
/address-sets:
get:
summary: Read address set collection
description: Returns all the address sets associated with the caller's account.
tags:
- Address sets
responses:
'200':
description: The address sets were successfully retrieved.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AddressSet'
operationId: getAddressSets
x-operation-id-source: derived
post:
summary: Create an address set
description: Creates a new address set and returns the definition
parameters: []
tags:
- Address sets
responses:
'200':
description: The address sets was successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/AddressSet'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddressSetPost'
description: The address set definition
operationId: postAddressSets
x-operation-id-source: derived
/address-sets/{id}:
get:
summary: Read an address set
description: Retrieves an address set definition
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Address set id
tags:
- Address sets
responses:
'200':
description: The address set was successfully retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/AddressSet'
operationId: getAddressSetsById
x-operation-id-source: derived
patch:
summary: Update an address set
description: Updates the address set and returns the updated definition
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Address set id
tags:
- Address sets
responses:
'200':
description: The address sets was successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/AddressSet'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddressSetPatch'
description: The address set definition
operationId: patchAddressSetsById
x-operation-id-source: derived
delete:
summary: Delete an address set
description: The address must belong to the current account
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Address set id
tags:
- Address sets
responses:
'200':
description: The address set was successfully deleted
content:
application/json:
schema:
$ref: '#/components/schemas/AddressSet'
operationId: deleteAddressSetsById
x-operation-id-source: derived
/address-sets/{id}/addresses:
get:
summary: Read addresses for an address set
description: Retrieves all address entries contained within the address set. Includes addresses from any and all included sets
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Address set id
tags:
- Address sets
responses:
'200':
description: The call was successful
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AddressSetEntry'
operationId: getAddressSetsByIdAddresses
x-operation-id-source: derived
/address-sets/metrics:
get:
summary: Read address set collection metrics
description: Returns requested metrics for all address sets for the current account.
tags:
- Address sets
parameters:
- name: names
in: query
required: true
schema:
type: array
items:
type: string
description: 'A comma separated list of metrics names. Allowed metric names: entries_added, entries_extended, entries_expired, entries_deleted'
- $ref: '#/components/parameters/from'
schema: {}
- $ref: '#/components/parameters/to'
schema: {}
- $ref: '#/components/parameters/resolution'
schema: {}
- $ref: '#/components/parameters/summarize'
schema: {}
responses:
'200':
description: Metrics for the address set have been returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Metrics'
operationId: getAddressSetsMetrics
x-operation-id-source: derived
/address-sets/{id}/metrics:
get:
summary: Read address set metrics
description: Returns requested metrics for a single address set.
tags:
- Address sets
parameters:
- name: names
in: query
required: true
schema:
type: array
items:
type: string
description: 'A comma separated list of metrics names. Allowed metric names:
entries_added, entries_extended, entries_expired, entries_deleted
'
- $ref: '#/components/parameters/from'
schema: {}
- $ref: '#/components/parameters/to'
schema: {}
- $ref: '#/components/parameters/resolution'
schema: {}
- $ref: '#/components/parameters/summarize'
schema: {}
responses:
'200':
description: Metrics for the address set have been returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Metrics'
operationId: getAddressSetsByIdMetrics
x-operation-id-source: derived
components:
schemas:
AddressSetState:
type: object
required:
- href
- created
- updated
properties:
href:
$ref: '#/components/schemas/AddressSetHref'
owner:
type: string
description: A reference to an account that owns an address set
created:
$ref: '#/components/schemas/Timestamp'
description: Address set created time
updated:
$ref: '#/components/schemas/Timestamp'
description: Timestamp reflecting when the address set was last updated
MultiMetrics:
description: An Array of metrics for multiple objects
type: array
items:
description: Identification and metric values for objects
type: object
properties:
name:
description: Name of the object
type: string
href:
description: Href of the object
type: string
metrics:
description: Requested metrics of the object
anyOf:
- $ref: '#/components/schemas/MetricValues'
- $ref: '#/components/schemas/MetricSummary'
AddressSetEntry:
type: object
description: An IP address or a CIDR block
allOf:
- $ref: '#/components/schemas/AddressSetEntryState'
- $ref: '#/components/schemas/AddressSetEntryConfiguration'
AddressSetPost:
type: object
description: An address set record details needed to create a new set
allOf:
- required:
- name
- type
- $ref: '#/components/schemas/AddressSetConfiguration'
AddressSetJsonFileParameters:
type: object
description: Parameters for json-file address set type
required:
- interval
- query
- url
properties:
url:
type: string
description: A URL from which a JSON object is read
pattern: ^https?://[a-z].*$
interval:
type: integer
description: An interval, given in seconds, that sets the frequency at which the set is updated
minimum: 60
query:
type: string
description: A JMESPath expression (http://jmespath.org) that is used to extract addresses. This expression applied over the result of fetching a url must produce an array of IP addresses or CIDR blocks
additionalProperties: false
AddressSetEntryState:
type: object
description: State values for address entries for address sets
properties:
created:
$ref: '#/components/schemas/Timestamp'
description: Creation time associated with this address
created_by:
type: string
description: Reference to the user that created this id
AddressSetConfiguration:
type: object
description: An address set record details
properties:
name:
description: The name of the address set
type: string
minLength: 1
maxLength: 50
description:
type: string
description: Description of the addresses contained in the address set
maxLength: 500
type:
description: "The type of the address set:\n A 'manual' address set type implies that it includes IP addresses/CIDR values that are statically defined by the user or the system.\n A 'dynamic' address set type is one where the IP addresses are dynamically added by the system (e.g. via a web control). Addresses may not be edited for a 'dynamic' address set. A 'combined' set is composed of other sets using the 'inclusions' attribute. A 'text-file' type gets addresses using a 'url' and 'interval' specified in 'params'. A 'json-file' type gets addresses using a 'url', 'interval', and 'query' specified in 'params'"
type: string
enum:
- combined
- domains
- dynamic
- json-file
- manual
- text-file
entries:
type: array
description: List of address entries that are part of this address set
items:
$ref: '#/components/schemas/AddressSetEntryConfiguration'
inclusions:
type: array
description: List of other address set references that are included in this address set, valid only for 'combined' types
items:
$ref: '#/components/schemas/AddressSetHref'
parameters:
description: Parameters for configuring an address set
$ref: '#/components/schemas/AddressSetParameters'
additionalProperties: false
AddressSetDomainsParameters:
type: object
description: Parameters for domains address set type
required:
- domains
properties:
domains:
type: array
description: If a forward-confirmed reverse DNS lookup of a tested address belongs to one of these domains, then the address is considered to belong to the set
items:
$ref: '#/components/schemas/DomainName'
minItems: 1
uniqueItems: true
additionalProperties: false
AddressSet:
type: object
description: An address set record details
allOf:
- $ref: '#/components/schemas/AddressSetState'
- $ref: '#/components/schemas/AddressSetConfiguration'
- type: object
properties:
entries:
$ref: '#/components/schemas/AddressSetEntry'
Metrics:
description: Metrics for the given specifications.
type: object
required:
- from
- to
- resolution
- metrics
properties:
from:
$ref: '#/components/schemas/Timestamp'
description: Start time for the metrics.
to:
$ref: '#/components/schemas/Timestamp'
description: End time for the metrics.
resolution:
type: integer
description: Resolution of the time series data returned.
metrics:
type: object
description: Metrics returned
additionalProperties:
anyOf:
- $ref: '#/components/schemas/MetricValues'
- $ref: '#/components/schemas/MetricSummary'
- $ref: '#/components/schemas/MultiMetrics'
MetricSummary:
description: A summary value of a metric across the entire returned time range
type: number
AddressSetTextFileParameters:
type: object
description: Parameters for text-file address set type
required:
- interval
- url
properties:
url:
type: string
description: A URL from which addresses are retrieved
pattern: ^https?://[a-z].*$
interval:
type: integer
description: An interval, given in seconds, that sets the frequency at which the set is updated
minimum: 60
additionalProperties: false
AddressSetHref:
type: string
pattern: ^/v2/address-sets/[a-z0-9]+$
description: The endpoint for an address set resource
MetricValues:
description: An array of metric values, one per resolution period
type: array
items:
type: number
AddressSetParameters:
description: Parameters for configuring an address set
anyOf:
- $ref: '#/components/schemas/AddressSetJsonFileParameters'
- $ref: '#/components/schemas/AddressSetTextFileParameters'
- $ref: '#/components/schemas/AddressSetDomainsParameters'
Cidr:
type: string
description: A ip address or range.
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))?|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|([0-9a-fA-F]{1,4}:)(:[0-9a-fA-F]{1,4}){1,6}|:(:[0-9a-fA-F]{1,4}){1,7}|::)(/([0-9]|[1-9][0-9]|1[01][0-9]|12[0-8]))?)$
DomainName:
type: string
description: A domain name as specified by RFC1035, RFC1123, and RFC2181 with the exception that no space character or double quote (") can be part of the name
pattern: ^([^."\s]+){1,63}(?:\.[^."\s]{1,63})+$
minLength: 1
maxLength: 253
AddressSetEntryConfiguration:
type: object
description: Configuration for address entries for address sets
required:
- address
properties:
description:
type: string
description: Description of the address
address:
$ref: '#/components/schemas/Cidr'
expiry:
$ref: '#/components/schemas/Timestamp'
description: Expiry time associated with this address
Timestamp:
type: string
format: date-time
description: An iso8601 formatted timestamp
AddressSetPatch:
type: object
description: An address set record details to update
allOf:
- $ref: '#/components/schemas/AddressSetConfiguration'
parameters:
summarize:
name: summarize
in: query
description: 'When true specifies that a single value for each named metric is returned for
the requested time period instead of an array divided into resolution-sized
buckets. Mutually exlusive with `resolution`.
'
schema:
type: boolean
resolution:
name: resolution
in: query
description: 'Size in seconds of each bucket for which metrics data will be returned.
Mutually exclusive with `summarize`.
'
schema:
type: integer
minimum: 5
from:
in: query
name: from
description: Select items on or after this time stamp.
schema:
type: string
format: date-time
to:
in: query
name: to
description: Select items before but not including this time stamp.
schema:
type: string
format: date-time
securitySchemes:
access_key:
type: http
scheme: Bearer
description: "An access key secret must be sent as a\n[bearer token](https://www.rfc-editor.org/rfc/rfc7235#section-5.1)\nwith each HTTP request in an `Authorization` header. Tokens are obtained\nin one of three ways:\n\n1. Creating an access key in your\n [user profile](https://control.webscale.com/profile).\n2. Using an access key secret created when a service user is created\n with the [POST accounts/{id}/service-users](#post-/accounts/-id-/service-users)\n API.\n3. Obtaining a temporary access key using an existing access key secret\n for a specified account with the\n [POST users/self/authorization](#post-/users/-id-/authorization) API.\n"
x-provenance:
method: harvested
publisher: Webscale Networks
source: https://control.webscale.com/docs/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)