Edgio REST API (0.6.0)

Download OpenAPI specification:Download

Our REST-compliant web services facilitate the integration of our services into your workflow(s), applications, or interfaces.

Introduction

Key information about our REST API services:

  • Protocol: HTTPS

    Communication (i.e., request-response) with our web services is only permitted through HTTPS. This ensures the privacy and integrity of your data.

  • Authentication/Authorization: Authorization Header

    Authenticate and authorize your requests by generating a token and then passing it through the Authorization header:

    Authorization: Bearer <OAUTH 2.0 TOKEN>
    

    Get started.

  • Request-Response (Accept and Content-Type): JSON

    We expect the request body to use JavaScript Object Notation (JSON) format. Inform our web servers that the expected format for the request-response will be JSON through the Accept and Content-Type request headers.

  • Programming Language: Agnostic

    Our REST API services are designed to be programming language-agnostic. Feel free to use your preferred programming language (e.g., JavaScript, Python, C#, etc.).

  • Services: Our REST API consists of the following services:

    Service Version Functionality
    cache 0.1 Purge cached content and find out purge status.
    config 0.1 Deploy CDN configurations, retrieve deployment information and log data, and manage environment variables.
    accounts 0.1 Retrieve and manage organizations, properties, and environments.
    waf 0.9 Retrieve and manage the following configurations: security apps, access rules, rate rules, custom rules, and managed rules.
    bot-security 0.9 Retrieve and manage bot manager configurations.
    api-security 0.9 Retrieve and manage API security configurations.

    Each service is versioned independently. This allows us to apply major enhancements to a service without impacting other services.

Quick Start

Get started with our latest APIs by performing the following steps:

  1. Create an API client for either your private space or the desired organization.
    • Grant the set of scope(s) required by the endpoint(s) with which it will interact.
    • The ability to administer API clients requires the Admin role and can be performed from the Edgio Console's API Clients page.
  2. Use this client's ID, secret key, and scopes to generate a temporary access token.
  3. Authorize your API requests by passing the temporary access token generated in the previous step through the Authorization request header.
curl --request GET \
     --url https://edgioapis.com/waf/v0.9/12345678-1234-1234-1234-1234567890ab/scopes \
     --header 'Authorization: Bearer  A1bcbGciImtpZCI6Ij13N1VGQ01z...17cRRKYQ'

Scopes

A scope authorizes an API client to perform specific actions (e.g., create and retrieve configurations). One or more scope(s) must also be defined when requesting an access token. You may only specify a scope that has been explicitly granted or inherited from a broader scope. Common scopes are listed below.

Scope Description
app.cache Authorizes full access for purging cached content and retrieve purge status information.
app.config Authorizes full access for deploying CDN configurations, retrieving deployment information and log data, and managing environment variables.
app.accounts Authorizes full access to manage organizations, properties, and environments.
app.waf Authorizes full access to security apps, access rules, rate rules, custom rules, and managed rules.
app.bot_security Authorizes full access to Bot Manager.
app.api_security Authorizes full access to API Security.

Access Tokens

Each request to a REST API service must be authorized by passing an access token to the Authorization request header. Access tokens provide temporary authorization (e.g., 1 minute) to our REST API service. The duration of this authorization is determined by the API client's Access Token Lifetime (Seconds) option. Once an access token expires, it may no longer be used to authorize requests. Attempting to authorize a request with an expired token will result in a 401 Unauthenticated Access response.

Requesting an access token requires:

  • Submitting a POST request to the following URL:

    https://id.edgio.app/connect/token

  • A Content-Type header set to application/x-www-form-urlencoded.

  • A request body that contains the following four parameters:

    client_id=<CLIENT ID>&client_secret=<SECRET>&grant_type=client_credentials&scope=<SCOPES>
    
    Parameter Description
    client_id Replace <CLIENT ID> with the system-defined ID assigned to your REST API client.
    client_secret Replace <SECRET> with the secret assigned to your REST API client.
    grant_type Set this parameter to client_credentials.
    scope Replace <SCOPES> with one or more scopes. Use a space character or the plus symbol (+) to delimit each scope.

Sample access token request:

curl --request POST \
  --url https://id.edgio.app/connect/token \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'client_id=J23d...B2Cd&client_secret=Fdad...DF3v&grant_type=client_credentials&scope=app.waf'

Sample response:

{
    "access_token": "A1bcbGciImtpZCI6Ij13N1VGQ01z...17cRRKYQ",
    "expires_in": 300,
    "token_type": "Bearer",
    "scope": "app.waf"
}

Authorizing Requests

Pass an access token through the Authorization header when requesting the desired API operation.

Sample API request:

curl --request GET \
     --url https://edgioapis.com/waf/v0.9/12345678-1234-1234-1234-1234567890ab/scopes \
     --header 'Authorization: Bearer  A1bcbGciImtpZCI6Ij13N1VGQ01z...17cRRKYQ'

HTTP Methods

HTTP method is a critical component of a request to our REST API service as it determines the type of action being requested.

  • DELETE: Deletes a resource (e.g., custom rule or managed rule configuration).
  • GET: Retrieves all or a specific resource.
  • PATCH: Partially updates a resource (e.g., environment).
  • POST: Creates a resource (e.g., custom rule or managed rule configuration).
  • PUT: Updates a resource (e.g., custom rule or managed rule configuration).

Our REST API service may return a 405 Method Not Allowed response for requests submitted with an unsupported HTTP method.

Request URL

The base URL for our REST API follows this basic pattern:

https://edgioapis.com/<SERVICE>/<VERSION>/

  • <SERVICE>: Identifies the REST API web service (e.g., cache, waf, and bot-security) designed to manage requests for a specific set of resources.
  • <VERSION>: Identifies the version of the REST API service that will be called.

Sample Request URL:

https://edgioapis.com/cache/v0.1/purge-requests

Request Headers

Request headers provide information about your request to a REST API service. This information allows our server to authenticate your request and provides information that allows it to receive and translate the request body.

Key information:

  • The use of a Byte Order Mark (BOM) in a request to the REST API is not supported. Some user agents are configured to automatically include a BOM. Please either configure the user agent to exclude the BOM or use a different user agent.
  • Request header values are case-insensitive.
Request Header Description
Authorization Authorize requests through the Authorization request header. Learn more about authorization.
Accept This header should indicate the format in which the response will be returned. If you pass this header, set it to: application/json.
Content-Type This header should indicate the format of the request body. If you pass this header, set it to: application/json.
You may omit this header when an endpoint does not have request properties.
Host This header, which is set by the user agent, indicates the host name corresponding to the requested endpoint (i.e., edgioapis.com or id.edgio.app).
Content-Length This header, which is set by the user agent, indicates the number of bytes contained in the request body.

Request Body

POST, PUT, and PATCH requests typically require request body properties that describe the action that will take place. These request body properties are case-sensitive.

Response Headers

Response headers provide information about the response to your request to the REST API service. A brief description is provided for the response headers that are returned by most endpoints. Standard HTTP response headers are typically returned along with these common response headers.

Response Header Description
Cache-Control Indicates the cache-control policy for the response body.
Content-Length Indicates the number of bytes in the response body.
Content-Type Indicates the format of the response body (e.g., application/json; charset=utf-8).
I_am This header is reserved for internal use.
Date Identifies the date and time (UTC) at which your request was processed.

Rate Limit

The rate limit for our APIs varies by service and HTTP method.

Service HTTP Method Rate Limit
cache ALL 2,000 requests per 5 minutes
config GET 2,000 requests per 5 minutes
config POST, PUT, PATCH, and DELETE 600 requests per 5 minutes
accounts GET 2,000 requests per 5 minutes
accounts POST, PUT, PATCH, and DELETE 600 requests per 5 minutes
waf ALL 300 requests per hour

1,000 requests per day
bot-security ALL 300 requests per hour

1,000 requests per day
api-security ALL 300 requests per hour

1,000 requests per day

Our API service returns a 429 Too Many Requests response when a client exceeds one of the above rate limits.

Purge

Purge cached content and retrieve information about previously submitted purge requests.

Get Purge Request

Retrieves information, including status, about a purge request.

Authorizations:
cacheScope
path Parameters
request_id
required
string

The purge request's system-defined ID. This ID is returned by the Purge Cache operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/cache/v0.1/purge-requests/{request_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "status": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "completed_at": "2019-08-24T14:15:22Z",
  • "progress_percentage": 0
}

Purge Cache

Submits a request to purge cached content from a specific environment. Purging content invalidates the cached version of an asset from our edge servers. You may submit up to 50 concurrent purge requests. For the purpose of concurrency, each value defined within the values property is considered a separate purge request. Find out the current status of your purge request by passing the purge request ID, which is returned by the id property, to the Get Purge Request operation.

Authorizations:
cacheScope
Request Body schema: application/json
required
environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

purge_type
required
string
Enum: "all_entries" "path" "surrogate_key"
  • all_entries: Purge all cached content.
  • path: Purge one or more relative path(s) defined within the values property.
  • surrogate_key: Purge one or more surrogate key(s) defined within the values property.
values
Array of strings

Defines the set of content to be purged. The purge_type property's value determines what should be passed.

  • all_entries: Omit this property or pass an empty array.
  • path: Pass one or more relative path(s). This relative path starts directly after the hostname.
  • surrogate_key: Pass one or more surrogate key(s) (aka cache tags).
hostname
string
Default: null

If specified, cached paths will only be purged for this specific hostname. If omitted, the specified paths will be purged for all hostnames.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "string",
  • "purge_type": "all_entries",
  • "values": [
    ],
  • "hostname": null
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "status": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "completed_at": "2019-08-24T14:15:22Z",
  • "progress_percentage": 0
}

CDN Configuration

Deploy or retrieve a CDN configuration. This type of configuration consists of origin configurations, hostnames, rules, and experiments.

Get CDN Configuration

Retrieve an environment's origin configurations, hostnames, rules, and experiments.

Authorizations:
configScope
path Parameters
config_id
required
string

The system-defined ID for a configuration that was deployed to an environment.

Use the Get Environment operation to retrieve the system-defined ID (@links.active_config.id) for an environment's active configuration.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/configs/{config_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "origins": [
    ],
  • "hostnames": [
    ],
  • "rules": [
    ],
  • "experiments": [
    ],
  • "edge_functions_sources": {
    },
  • "edge_function_init_script": "string"
}

Deploy CDN Configuration

Deploys your configuration to a specific environment. This deployment overwrites any existing origin configurations, hostnames, rules, and experiments.

Authorizations:
configScope
Request Body schema: application/json
required
environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
Array of objects (properties-origins) [ 1 .. 10000 ] items
required
Array of objects (properties-hostnames) non-empty
Array of matches (object) or features (object) or Array of features (object) (properties-rules)
experiments
Array of strings

List of experiments.

purge_cache_on_deploy
boolean

Overwrite the default value, effectively allowing defining purge cache behaviour with each deployment.

edge_functions_sources
object

JSON object of Edge Functions sources:

  • The key denotes the name of the Edge Function.
  • The value holds the source of the Edge Function.
edge_function_init_script
string

Name of the Edge function initialization script.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "string",
  • "origins": [
    ],
  • "hostnames": [
    ],
  • "rules": [
    ],
  • "experiments": [
    ],
  • "purge_cache_on_deploy": true,
  • "edge_functions_sources": {
    },
  • "edge_function_init_script": "string"
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "origins": [
    ],
  • "hostnames": [
    ],
  • "rules": [
    ],
  • "experiments": [
    ],
  • "edge_functions_sources": {
    },
  • "edge_function_init_script": "string"
}

Environment Variables

Automate environment variable management. Changes to your environment variables will not take effect until the next deployment.

Learn more about environment variables.

Delete Environment Variable

Deletes an environment variable.

Authorizations:
configScope
path Parameters
environment_variable_id
required
string

An environment variable's system-defined ID.

Use the Get All Environment Variables operation to retrieve a list of environment variables and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/config/v0.1/environment-variables/{environment_variable_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "invalid_input",
  • "title": "Bad request",
  • "description": [
    ],
  • "status_code": 400,
  • "details": [
    ]
}

Get Environment Variable

Returns an environment variable.

Authorizations:
configScope
path Parameters
environment_variable_id
required
string

An environment variable's system-defined ID.

Use the Get All Environment Variables operation to retrieve a list of environment variables and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/environment-variables/{environment_variable_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "key": "string",
  • "value": "string",
  • "secret": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Set Environment Variable

Creates or updates an environment variable.

Authorizations:
configScope
Request Body schema: application/json
required
environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

key
required
string

The environment variable's name.

value
required
string

The environment variable's value.

secret
boolean

Determines whether the environment variable's value will be partially masked using asterisks.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "string",
  • "key": "string",
  • "value": "string",
  • "secret": true
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "key": "string",
  • "value": "string",
  • "secret": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get All Environment Variables

Returns all environment variables associated with an environment.

Authorizations:
configScope
query Parameters
page
integer <int32>
Default: 0

0-based page number.

page_size
integer <int32>
Default: 20

Number of results per page. Valid values are: 1 - 100. Default value: 20

key
string

Find an environment variable by its name.

environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/environment-variables',
  qs: {
    page: 'SOME_INTEGER_VALUE',
    page_size: 'SOME_INTEGER_VALUE',
    key: 'SOME_STRING_VALUE',
    environment_id: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Bulk Redirects

Manage or retrieve a list of URLs for which we will return a 3xx response with a Location header set to the desired URL. Changes to your bulk redirects will not take effect until the next deployment.

Learn more about bulk redirects.

Delete Bulk Redirect

Deletes a bulk redirect.

Authorizations:
configScope
path Parameters
environment_redirect_id
required
string

The bulk redirect's system-defined ID.

Retrieve a list of bulk redirects and their system-defined IDs through the Get All Bulk Redirects operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/config/v0.1/environment-redirects/{environment_redirect_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "invalid_input",
  • "title": "Bad request",
  • "description": [
    ],
  • "status_code": 400,
  • "details": [
    ]
}

Get Bulk Redirect

Returns a bulk redirect.

Authorizations:
configScope
path Parameters
environment_redirect_id
required
string

The bulk redirect's system-defined ID.

Retrieve a list of bulk redirects and their system-defined IDs through the Get All Bulk Redirects operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/environment-redirects/{environment_redirect_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "from": "string",
  • "to": "string",
  • "status": 0,
  • "forward_query_string": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Set Bulk Redirect

Creates or updates a bulk redirect.

Authorizations:
configScope
Request Body schema: application/json
required
environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

from
required
string

An absolute or relative URL that will be redirected.

to
required
string

An absolute or relative URL to which clients will be redirected.

status
integer <int32>

3xx status code for the response sent to the client. Valid values are: 301 | 302 | 307 | 308

forward_query_string
boolean

Determines whether the Location response header will include the request’s query string.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "string",
  • "from": "string",
  • "to": "string",
  • "status": 0,
  • "forward_query_string": true
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "from": "string",
  • "to": "string",
  • "status": 0,
  • "forward_query_string": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get All Bulk Redirects

Returns all bulk redirects associated with an environment.

Authorizations:
configScope
query Parameters
page
integer <int32>
Default: 0

0-based page number.

page_size
integer <int32>
Default: 20

Number of results per page. Valid values are: 1 - 100. Default value: 20

from
string

Find a bulk redirect by its source URL (from).

environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/environment-redirects',
  qs: {
    page: 'SOME_INTEGER_VALUE',
    page_size: 'SOME_INTEGER_VALUE',
    from: 'SOME_STRING_VALUE',
    environment_id: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Deployment Info

Retrieve information and log data for a previous deployment.

Learn more about deployments.

Get Deployment Logs

Retrieve log data for a specific deployment.

Authorizations:
configScope
path Parameters
deployment_id
required
string

The deployment's system-defined ID. This ID is returned by the Deploy CDN Configuration operation's id property.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/deployments/{deployment_id}/logs',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "logs": [
    ]
}

Get Deployment

Retrieve information about a specific deployment.

Authorizations:
configScope
path Parameters
deployment_id
required
string

The deployment's system-defined ID. This ID is returned by the Deploy CDN Configuration operation's id property.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/deployments/{deployment_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "status": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "completed_at": "2019-08-24T14:15:22Z"
}

TLS Certificates

Upload your own TLS certificate, retrieve existing TLS certificates, or request TLS certificate generation for a specific environment.

Learn more about hosting TLS certificates on our network.

Get TLS Certificate

Returns a TLS certificate.

Authorizations:
configScope
path Parameters
cert_id
required
string

The TLS certificate's system-defined ID. Use the Get All Certificates operation to retrieve a list of TLS certificates and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/tls-certs/{cert_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "primary_cert": "string",
  • "intermediate_cert": "string",
  • "expiration": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "generated": true,
  • "serial": "string",
  • "common_name": "string",
  • "alternative_names": [
    ],
  • "activation_error": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Upload TLS Certificate

Upload your TLS certificate to activate it within a specific environment.

Authorizations:
configScope
Request Body schema: application/json
required
environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

primary_cert
required
string

Your TLS certificate. We require this certificate to be issued by a Certificate Authority.

intermediate_cert
required
string

The intermediate certificates (IC) used by the CA, including the CA’s signing certificate.

private_key
string

The private key that was generated with the CSR.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "string",
  • "primary_cert": "string",
  • "intermediate_cert": "string",
  • "private_key": "string"
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "primary_cert": "string",
  • "intermediate_cert": "string",
  • "expiration": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "generated": true,
  • "serial": "string",
  • "common_name": "string",
  • "alternative_names": [
    ],
  • "activation_error": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get All TLS Certificates

Returns all TLS certificates associated with an environment.

Authorizations:
configScope
query Parameters
page
integer <int32>
Default: 0

0-based page number.

page_size
integer <int32>
Default: 20

Number of results per page. Valid values are: 1 - 100. Default value: 20

environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/config/v0.1/tls-certs',
  qs: {
    page: 'SOME_INTEGER_VALUE',
    page_size: 'SOME_INTEGER_VALUE',
    environment_id: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Generate TLS Certificates

Generates a Let's Encrypt certificate for each eligible hostname associated with the specified environment. A hostname is eligible for automatic certificate generation when the CA is allowed to issue certificates for that hostname and your control over the domain is established through an _acme_challenge CNAME record. Learn more.

Authorizations:
configScope
Request Body schema: application/json
required
environment_id
required
string

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "string"
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "environment_id": "string",
  • "primary_cert": "string",
  • "intermediate_cert": "string",
  • "expiration": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "generated": true,
  • "serial": "string",
  • "common_name": "string",
  • "alternative_names": [
    ],
  • "activation_error": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Access Rules

An access rule identifies legitimate traffic and threats through access controls.

Learn more about access rules.

Add Access Rule

Creates an access rule that identifies threats through whitelists, accesslists, and blacklists.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
version
string

Reserved for future use.

id
string

The access rule's system-defined ID.

name
string

The access rule's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this access rule. This field does not reflect updates performed through the REST API.

object (ACL Strings)

Contains access controls for countries. Each country is identified by its country code.

object (ACL Strings)

Contains access controls for country subdivisions. Each country subdivision is identified by its ISO-3166-2 code.

object (ACL Strings)

Contains access controls for IPv4 and/or IPv6 addresses. Each IP address is defined through standard IPv4/IPv6 and CIDR notation.

object (ACL Strings)

Contains access controls for referrers. All referrers defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Contains access controls for URL paths. This URL path starts directly after the hostname. All URL paths defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Contains access controls for cookie names. All cookies defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Contains access controls for user agents. All user agents defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Requires Edgio Premier. Contains access controls for JA3 fingerprints.

object (ACL Strings)

Requires Edgio Premier. Contains access controls for JA4 fingerprints.

object (ACL ASNs)

Contains access controls for autonomous system numbers (ASNs).

allow_anonymous_proxy
boolean

Determines whether we will detect requests that use an anonymizer or anonymous proxy tool.

super_capacity
boolean

Determines whether this access rule is restricted to 10,000 or 1,000 IP addresses or IP blocks. Edgio Premier and Standard customers are allowed to create up to 2 high-capacity access rules.

allowed_http_methods
Array of strings

Identifies each allowed HTTP method (e.g., GET).

allowed_request_content_types
Array of strings

Identifies each allowed media type (e.g., application/json).

disallowed_extensions
Array of strings

A list of file extension(s) for which WAF will send an alert or block the request.

disallowed_headers
Array of strings

A list of request header(s) for which WAF will send an alert or block the request.

max_file_size
integer <uint64>

The maximum file size, in bytes, for a POST request body.

response_header_name
string

The name of the response header that will be included with blocked requests.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "country": {
    },
  • "sd_iso": {
    },
  • "ip": {
    },
  • "referer": {
    },
  • "url": {
    },
  • "cookie": {
    },
  • "user_agent": {
    },
  • "ja3": {
    },
  • "ja4": {
    },
  • "asn": {
    },
  • "allow_anonymous_proxy": true,
  • "super_capacity": true,
  • "allowed_http_methods": [
    ],
  • "allowed_request_content_types": [
    ],
  • "disallowed_extensions": [
    ],
  • "disallowed_headers": [
    ],
  • "max_file_size": 0,
  • "response_header_name": "string",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Access Rules

Retrieves a list of access rules. An access rule identifies whether a request is a threat through whitelists, accesslists, and blacklists.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/acls',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Access Rule

Retrieves an access rule that identifies threats through whitelists, accesslists, and blacklists.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

acl_id
required
string

An access rule's system-defined ID.

Use the Get All Access Rules operation to retrieve a list of access rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/acls/{acl_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "allow_anonymous_proxy": true,
  • "allowed_http_methods": [
    ],
  • "allowed_request_content_types": [
    ],
  • "asn": {
    },
  • "cookie": {
    },
  • "country": {
    },
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "disallowed_extensions": [
    ],
  • "disallowed_headers": [ ],
  • "id": "6ZLms6Dh",
  • "ip": {
    },
  • "last_modified_by": "jsernaque@edg.io via Edgio AppOps Console",
  • "last_modified_date": "2023-09-29T19:46:48.401989Z",
  • "max_file_size": 6291456,
  • "name": "My Access Rule",
  • "referer": {
    },
  • "response_header_name": "",
  • "sd_iso": {
    },
  • "super_capacity": false,
  • "team_config": true,
  • "url": {
    },
  • "user_agent": {
    },
  • "version": null
}

Update Access Rule

Updates an access rule that identifies threats through whitelists, accesslists, and blacklists.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

acl_id
required
string

An access rule's system-defined ID.

Use the Get All Access Rules operation to retrieve a list of access rules and their system-defined IDs.

Request Body schema: application/json
required
version
string

Reserved for future use.

id
string

The access rule's system-defined ID.

name
string

The access rule's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this access rule. This field does not reflect updates performed through the REST API.

object (ACL Strings)

Contains access controls for countries. Each country is identified by its country code.

object (ACL Strings)

Contains access controls for country subdivisions. Each country subdivision is identified by its ISO-3166-2 code.

object (ACL Strings)

Contains access controls for IPv4 and/or IPv6 addresses. Each IP address is defined through standard IPv4/IPv6 and CIDR notation.

object (ACL Strings)

Contains access controls for referrers. All referrers defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Contains access controls for URL paths. This URL path starts directly after the hostname. All URL paths defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Contains access controls for cookie names. All cookies defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Contains access controls for user agents. All user agents defined within a whitelist, accesslist, or blacklist are regular expressions.

object (ACL Strings)

Requires Edgio Premier. Contains access controls for JA3 fingerprints.

object (ACL Strings)

Requires Edgio Premier. Contains access controls for JA4 fingerprints.

object (ACL ASNs)

Contains access controls for autonomous system numbers (ASNs).

allow_anonymous_proxy
boolean

Determines whether we will detect requests that use an anonymizer or anonymous proxy tool.

super_capacity
boolean

Determines whether this access rule is restricted to 10,000 or 1,000 IP addresses or IP blocks. Edgio Premier and Standard customers are allowed to create up to 2 high-capacity access rules.

allowed_http_methods
Array of strings

Identifies each allowed HTTP method (e.g., GET).

allowed_request_content_types
Array of strings

Identifies each allowed media type (e.g., application/json).

disallowed_extensions
Array of strings

A list of file extension(s) for which WAF will send an alert or block the request.

disallowed_headers
Array of strings

A list of request header(s) for which WAF will send an alert or block the request.

max_file_size
integer <uint64>

The maximum file size, in bytes, for a POST request body.

response_header_name
string

The name of the response header that will be included with blocked requests.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "country": {
    },
  • "sd_iso": {
    },
  • "ip": {
    },
  • "referer": {
    },
  • "url": {
    },
  • "cookie": {
    },
  • "user_agent": {
    },
  • "ja3": {
    },
  • "ja4": {
    },
  • "asn": {
    },
  • "allow_anonymous_proxy": true,
  • "super_capacity": true,
  • "allowed_http_methods": [
    ],
  • "allowed_request_content_types": [
    ],
  • "disallowed_extensions": [
    ],
  • "disallowed_headers": [
    ],
  • "max_file_size": 0,
  • "response_header_name": "string",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Access Rule

Deletes an access rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

acl_id
required
string

An access rule's system-defined ID.

Use the Get All Access Rules operation to retrieve a list of access rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/acls/{acl_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Access Rule's Version History

Retrieve a list of versions for a specific access rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

acl_id
required
string

An access rule's system-defined ID.

Use the Get All Access Rules operation to retrieve a list of access rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/acls/{acl_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Access Rule by Version

Retrieve a specific version of an access rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

acl_id
required
string

An access rule's system-defined ID.

Use the Get All Access Rules operation to retrieve a list of access rules and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/acls/{acl_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

API Security Ruleset

An API Security ruleset contains one or more API Security rule(s). Each of these rules identifies an API schema and the conditions under which it will be enforced.

By default, Edgio validates all POST, PUT, and PATCH requests that satisfy your security app’s hostname and URL path requirements. If your website uses those HTTP methods for non-API requests, then it is strongly recommended to define one or more URL path(s) within your API Security rule.

Learn more about API Security rules.

Add API Security Ruleset

Creates an API Security ruleset.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
id
string

The API Security ruleset's system-defined ID.

name
string

The API Security ruleset's name.

customer_id
string

An internal system-defined ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this API Security ruleset. This field does not reflect updates performed through the REST API.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Array of objects (API Rule Object)

Contains one or more rule(s) that identify a set of requests and a JSON schema through which Edgio will screen that traffic.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "team_config": true,
  • "rules": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All API Security Rulesets

Retrieves a list of API Security rulesets.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-gateways',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get API Security Ruleset

Retrieves an API Security ruleset.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_gateway_id
required
string

An API Security Ruleset's system-defined ID.

Use the Get All API Security Rulesets operation to retrieve a list of API Security Rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-gateways/{api_gateway_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "id": "VzhYZAMT",
  • "last_modified_by": "jsmith@example.com via Edgio AppOps Console",
  • "last_modified_date": "2023-09-29T23:34:42.193976Z",
  • "name": "My API Security Ruleset",
  • "rules": [
    ],
  • "team_config": true
}

Update API Security Ruleset

Updates an API Security ruleset.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_gateway_id
required
string

An API Security Ruleset's system-defined ID.

Use the Get All API Security Rulesets operation to retrieve a list of API Security Rulesets and their system-defined IDs.

Request Body schema: application/json
required
id
string

The API Security ruleset's system-defined ID.

name
string

The API Security ruleset's name.

customer_id
string

An internal system-defined ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this API Security ruleset. This field does not reflect updates performed through the REST API.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Array of objects (API Rule Object)

Contains one or more rule(s) that identify a set of requests and a JSON schema through which Edgio will screen that traffic.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "team_config": true,
  • "rules": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete API Security Ruleset

Deletes an API Security ruleset.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_gateway_id
required
string

An API Security Ruleset's system-defined ID.

Use the Get All API Security Rulesets operation to retrieve a list of API Security Rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-gateways/{api_gateway_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get API Security Ruleset's API Schemas

Retrieves a list of API schemas associated with an API Security ruleset.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_gateway_id
required
string

An API Security Ruleset's system-defined ID.

Use the Get All API Security Rulesets operation to retrieve a list of API Security Rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-gateways/{api_gateway_id}/schemas',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get API Gateway's Version History

Retrieve a list of versions for a specific API gateway.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_gateway_id
required
string

An API Security Ruleset's system-defined ID.

Use the Get All API Security Rulesets operation to retrieve a list of API Security Rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-gateways/{api_gateway_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get API Gateway by Version

Retrieve a specific version of an API gateway.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_gateway_id
required
string

An API Security Ruleset's system-defined ID.

Use the Get All API Security Rulesets operation to retrieve a list of API Security Rulesets and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-gateways/{api_gateway_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

API Schemas

An API schema is a JSON schema that describes the structure for a valid API payload.

Learn more about supported JSON schema syntax.

Add API Schema

Creates an API schema. An API schema contains a JSON schema (draft 4) that may be used to screen API requests.

View key configuration information.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
id
string

The API schema’s system-defined ID.

api_gw_id
string

The API Security ruleset's system-defined ID.

customer_id
string

An internal system-defined ID.

last_modified_date
string

The date and time at which this configuration was last modified.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "api_gw_id": "string",
  • "customer_id": "string",
  • "last_modified_date": "string"
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All API Schemas

Retrieves a list of API schemas.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-schemas',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get API Schema

Retrieves an API schema. An API schema contains a JSON schema (draft 4) that may be used to screen API requests.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_schema_id
required
string

An API schema's system-defined ID.

Use the Get All API Schemas operation to retrieve a list of API schemas and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-schemas/{api_schema_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "api_gw_id": "VzhYZAMT",
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "id": "OTZ3opxX",
  • "last_modified_by": "jsmith@example.com via Edgio AppOps Console",
  • "last_modified_date": "2023-09-29T23:31:41.193941Z",
  • "name": "Access Rules",
  • "schema": {
    },
  • "team_config": true
}

Update API Schema

Updates an API schema. An API schema contains a JSON schema (draft 4) that may be used to screen API requests.

View key configuration information.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_schema_id
required
string

An API schema's system-defined ID.

Use the Get All API Schemas operation to retrieve a list of API schemas and their system-defined IDs.

Request Body schema: application/json
required
id
string

The API schema’s system-defined ID.

api_gw_id
string

The API Security ruleset's system-defined ID.

customer_id
string

An internal system-defined ID.

last_modified_date
string

The date and time at which this configuration was last modified.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "api_gw_id": "string",
  • "customer_id": "string",
  • "last_modified_date": "string"
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete API Schema

Deletes an API schema.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_schema_id
required
string

An API schema's system-defined ID.

Use the Get All API Schemas operation to retrieve a list of API schemas and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-schemas/{api_schema_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get API Schema's Version History

Retrieve a list of versions for a specific API schema.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_schema_id
required
string

An API schema's system-defined ID.

Use the Get All API Schemas operation to retrieve a list of API schemas and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-schemas/{api_schema_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get API Schema by Version

Retrieve a specific version of an API schema.

Authorizations:
api_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

api_schema_id
required
string

An API schema's system-defined ID.

Use the Get All API Schemas operation to retrieve a list of API schemas and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/api-security/v0.9/{organization_id}/api-schemas/{api_schema_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

Rate Rules

A rate rule restricts the flow of site traffic.

Learn more about rate rules.

Add Rate Rule

Creates a rate rule that determines the maximum number of requests that will be allowed within a given time period.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
version
integer <uint32>

Reserved for future use.

id
string

The rate rule's system-defined ID.

name
string

The rate rule's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this rate rule. This field does not reflect updates performed through the REST API.

disabled
boolean

Indicates whether this rate rule will be enforced. Valid values are:

  • true: Disabled. This rate limit will not be applied to traffic.

  • false:** Enabled. Traffic is restricted to this rate limit.

duration_sec
integer <uint32>
Enum: 1 5 10 30 60 120 300 600 900 1800

The duration, in seconds, of the window that tracks the number of requests eligible for rate limiting.

Edgio Security Premier customers may define a maximum duration of 1,800 seconds when grouping requests by IP address (i.e., the keys array only contains IP). All other configurations, including when the keys array contains an additional entry, restrict this duration to 300 seconds.

The num property determines the maximum number of requests for the time period configured by this property.

num
integer <uint32>

The number of requests that will trigger rate limiting.

keys
Array of strings
Items Enum: "IP" "USER_AGENT" "ASN" "JA3" "JA4" "HEADER:<name>" "ARGS:<name>" "COOKIE:<name>" "STATUS_CODE:<code>"

The method by which requests will be grouped for the purposes of this rate rule. Select up to two methods (e.g., IP and USER_AGENT). Valid values are:

  • Missing / Empty Array: If the keys property is not defined or set to an empty array, all requests will be treated as a single group for the purpose of rate limiting.

  • IP: Indicates that requests will be grouped by IP address. Each unique IP address is considered a separate group.

  • USER_AGENT: Indicates that requests will be grouped by a client's user agent. Each unique user agent is considered a separate group.

  • ASN: Edgio Security Premier only. Indicates that requests will be grouped by a client's ASN. Each unique ASN is considered a separate group.

  • JA3: Edgio Security Premier only. Indicates that requests will be grouped by a client's JA3. Each unique JA3 is considered a separate group.

  • JA4: Edgio Security Premier only. Indicates that requests will be grouped by a client's JA4. Each unique JA4 is considered a separate group.

  • HEADER:{Name}: Edgio Security Premier only. Indicates that requests will be grouped by the value assigned to the request header defined by the {Name} placeholder. Each unique value for the specified header is considered a separate group. A request is excluded from this rate limit when the specified header is not present.

  • COOKIE:{Name}: Edgio Security Premier only. Indicates that requests will be grouped by the value assigned to the cookie defined by the {Name} placeholder. Each unique value for the specified cookie is considered a separate group. A request is excluded from this rate limit when the specified cookie is not present.

  • ARGS:{Name}: Edgio Security Premier only. Indicates that requests will be grouped by the value assigned to the query string parameter defined by the {Name} placeholder. Each unique value for the specified parameter is considered a separate group. A request is excluded from this rate limit when the specified parameter is not present.

  • STATUS_CODE:{Code}: Edgio Security Premier only. Indicates that requests will be grouped by the status code of the response.

Array of objects (ConditionGroup)

Contains the set of condition groups associated with a rule.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": 0,
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "disabled": true,
  • "duration_sec": 1,
  • "num": 0,
  • "keys": [
    ],
  • "condition_groups": [
    ],
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Rate Rules

Retrieves a list of rate rules. A rate rule determines the maximum number of requests that will be allowed within a given time period.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/limits',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Rate Rule

Retrieves a rate rule. A rate rule determines the maximum number of requests that will be allowed within a given time period.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

limit_id
required
string

A rate rule's system-defined ID.

Use the Get All Rate Rules operation to retrieve a list of rate rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/limits/{limit_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "condition_groups": [
    ],
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "disabled": false,
  • "duration_sec": 60,
  • "id": "F60gu16u",
  • "keys": [
    ],
  • "last_modified_by": "jsmith@example.com via Edgio AppOps Console",
  • "last_modified_date": "2023-09-28T00:16:18.589777Z",
  • "name": "My Rate Rule",
  • "num": 200,
  • "team_config": true
}

Update Rate Rule

Updates a rate rule that determines the maximum number of requests that will be allowed within a given time period.

path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

limit_id
required
string

A rate rule's system-defined ID.

Use the Get All Rate Rules operation to retrieve a list of rate rules and their system-defined IDs.

Request Body schema: application/json
required
version
integer <uint32>

Reserved for future use.

id
string

The rate rule's system-defined ID.

name
string

The rate rule's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this rate rule. This field does not reflect updates performed through the REST API.

disabled
boolean

Indicates whether this rate rule will be enforced. Valid values are:

  • true: Disabled. This rate limit will not be applied to traffic.

  • false:** Enabled. Traffic is restricted to this rate limit.

duration_sec
integer <uint32>
Enum: 1 5 10 30 60 120 300 600 900 1800

The duration, in seconds, of the window that tracks the number of requests eligible for rate limiting.

Edgio Security Premier customers may define a maximum duration of 1,800 seconds when grouping requests by IP address (i.e., the keys array only contains IP). All other configurations, including when the keys array contains an additional entry, restrict this duration to 300 seconds.

The num property determines the maximum number of requests for the time period configured by this property.

num
integer <uint32>

The number of requests that will trigger rate limiting.

keys
Array of strings
Items Enum: "IP" "USER_AGENT" "ASN" "JA3" "JA4" "HEADER:<name>" "ARGS:<name>" "COOKIE:<name>" "STATUS_CODE:<code>"

The method by which requests will be grouped for the purposes of this rate rule. Select up to two methods (e.g., IP and USER_AGENT). Valid values are:

  • Missing / Empty Array: If the keys property is not defined or set to an empty array, all requests will be treated as a single group for the purpose of rate limiting.

  • IP: Indicates that requests will be grouped by IP address. Each unique IP address is considered a separate group.

  • USER_AGENT: Indicates that requests will be grouped by a client's user agent. Each unique user agent is considered a separate group.

  • ASN: Edgio Security Premier only. Indicates that requests will be grouped by a client's ASN. Each unique ASN is considered a separate group.

  • JA3: Edgio Security Premier only. Indicates that requests will be grouped by a client's JA3. Each unique JA3 is considered a separate group.

  • JA4: Edgio Security Premier only. Indicates that requests will be grouped by a client's JA4. Each unique JA4 is considered a separate group.

  • HEADER:{Name}: Edgio Security Premier only. Indicates that requests will be grouped by the value assigned to the request header defined by the {Name} placeholder. Each unique value for the specified header is considered a separate group. A request is excluded from this rate limit when the specified header is not present.

  • COOKIE:{Name}: Edgio Security Premier only. Indicates that requests will be grouped by the value assigned to the cookie defined by the {Name} placeholder. Each unique value for the specified cookie is considered a separate group. A request is excluded from this rate limit when the specified cookie is not present.

  • ARGS:{Name}: Edgio Security Premier only. Indicates that requests will be grouped by the value assigned to the query string parameter defined by the {Name} placeholder. Each unique value for the specified parameter is considered a separate group. A request is excluded from this rate limit when the specified parameter is not present.

  • STATUS_CODE:{Code}: Edgio Security Premier only. Indicates that requests will be grouped by the status code of the response.

Array of objects (ConditionGroup)

Contains the set of condition groups associated with a rule.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": 0,
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "disabled": true,
  • "duration_sec": 1,
  • "num": 0,
  • "keys": [
    ],
  • "condition_groups": [
    ],
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Rate Rule

Deletes a rate rule.

path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

limit_id
required
string

A rate rule's system-defined ID.

Use the Get All Rate Rules operation to retrieve a list of rate rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/limits/{limit_id}'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Rate Rule's Version History

Retrieve a list of versions for a specific rate rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

limit_id
required
string

A rate rule's system-defined ID.

Use the Get All Rate Rules operation to retrieve a list of rate rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/limits/{limit_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Rate Rule by Version

Retrieve a specific version of a rate rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

limit_id
required
string

A rate rule's system-defined ID.

Use the Get All Rate Rules operation to retrieve a list of rate rules and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/limits/{limit_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

Bot Manager Configuration

A bot manager configuration:

  • Identifies a bot ruleset.

  • The enforcement action that will be applied to traffic identified as a bot.

  • Determines whether known bots will be automatically detected and the enforcement action that will be applied to that traffic.

  • Traffic that will be exempt from bot detection.

Learn more about bot manager.

Add Bot Manager Configuration

Creates a bot manager configuration.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
object (Actions)

Contains an object for each enforcement action associated with this bot manager configuration.

bots_prod_id
string

The system-defined ID for the bot ruleset that will be applied to production traffic when this bot manager configuration is applied to a Security App.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

exception_cookie
Array of strings

Identifies traffic that will be exempt from bot detection by cookie.

Cookie syntax: <COOKIE NAME>:<COOKIE VALUE>.

Edgio treats the cookie’s value as a regular expression.

exception_ja3
Array of strings

Identifies traffic that will be exempt from bot detection by JA3 fingerprint. A JA3 fingerprint identifies a client using key characteristics from a TLS request.

exception_ja4
Array of strings

Identifies traffic that will be exempt from bot detection by JA4 fingerprint. A JA4 fingerprint identifies a client using key characteristics from a TLS request.

exception_url
Array of strings

A regular expression that identifies traffic that will be exempt from bot detection by URL.

exception_user_agent
Array of strings

A regular expression that identifies traffic that will be exempt from bot detection by user agent.

inspect_known_bots
boolean

Determines whether Edgio will automatically detect the known bots defined within the categories array. If categories is not present, then this property will be applied to the known_bots array.

Array of objects (Known Bot Category Object)

Contains a list of known bot categories. Each category contains a list of known bots that can be automatically detected by Edgio and a configuration that determines how known bot and spoofed bot traffic will be handled.

Array of objects (Known Bot Object)
Deprecated

Use categories instead. This property will be ignored when categories is present. Contains the set of known bots that Edgio may automatically detect and the enforcement action that may be applied to them.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this bot ruleset. This field does not reflect updates performed through the REST API.

name
string

The bot manager configuration's name.

spoof_bot_action_type
string
Enum: "ALERT" "BLOCK_REQUEST" "CUSTOM_RESPONSE" "BROWSER_CHALLENGE" "REDIRECT_302" "RECAPTCHA" "SILENT_CLOSE"

The default enforcement action that will be applied to traffic spoofing a known bot defined within the known_bots array. This enforcement action is only applied when an explicit enforcement action has not been applied to a known bot through the known_bots.spoof_action_type property.

Learn more about enforcement actions.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "actions": {
    },
  • "bots_prod_id": "string",
  • "exception_cookie": [
    ],
  • "exception_ja3": [
    ],
  • "exception_ja4": [
    ],
  • "exception_url": [
    ],
  • "exception_user_agent": [
    ],
  • "inspect_known_bots": true,
  • "categories": [
    ],
  • "known_bots": [
    ],
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "name": "string",
  • "spoof_bot_action_type": "ALERT",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Bot Manager Configurations

Retrieves a list of bot manager configurations. A bot manager configuration can detect and mitigate undesired bot traffic.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bot-managers',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Bot Manager Configuration

Retrieves a bot manager configuration.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_manager_id
required
string

A bot manager configuration's system-defined ID.

Use the Get All Bot Managers operation to retrieve a list of bot manager configurations and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bot-managers/{bot_manager_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "actions": {
    },
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "id": "e34YwKtg",
  • "inspect_known_bots": true,
  • "known_bots": [ ],
  • "last_modified_date": "2023-10-13T23:29:34.170006Z",
  • "name": "bot-manager-configuration-1",
  • "spoof_bot_action_type": "ALERT",
  • "team_config": true
}

Update Bot Manager Configuration

Updates a bot manager configuration.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_manager_id
required
string

A bot manager configuration's system-defined ID.

Use the Get All Bot Managers operation to retrieve a list of bot manager configurations and their system-defined IDs.

Request Body schema: application/json
required
object (Actions)

Contains an object for each enforcement action associated with this bot manager configuration.

bots_prod_id
string

The system-defined ID for the bot ruleset that will be applied to production traffic when this bot manager configuration is applied to a Security App.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

exception_cookie
Array of strings

Identifies traffic that will be exempt from bot detection by cookie.

Cookie syntax: <COOKIE NAME>:<COOKIE VALUE>.

Edgio treats the cookie’s value as a regular expression.

exception_ja3
Array of strings

Identifies traffic that will be exempt from bot detection by JA3 fingerprint. A JA3 fingerprint identifies a client using key characteristics from a TLS request.

exception_ja4
Array of strings

Identifies traffic that will be exempt from bot detection by JA4 fingerprint. A JA4 fingerprint identifies a client using key characteristics from a TLS request.

exception_url
Array of strings

A regular expression that identifies traffic that will be exempt from bot detection by URL.

exception_user_agent
Array of strings

A regular expression that identifies traffic that will be exempt from bot detection by user agent.

inspect_known_bots
boolean

Determines whether Edgio will automatically detect the known bots defined within the categories array. If categories is not present, then this property will be applied to the known_bots array.

Array of objects (Known Bot Category Object)

Contains a list of known bot categories. Each category contains a list of known bots that can be automatically detected by Edgio and a configuration that determines how known bot and spoofed bot traffic will be handled.

Array of objects (Known Bot Object)
Deprecated

Use categories instead. This property will be ignored when categories is present. Contains the set of known bots that Edgio may automatically detect and the enforcement action that may be applied to them.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this bot ruleset. This field does not reflect updates performed through the REST API.

name
string

The bot manager configuration's name.

spoof_bot_action_type
string
Enum: "ALERT" "BLOCK_REQUEST" "CUSTOM_RESPONSE" "BROWSER_CHALLENGE" "REDIRECT_302" "RECAPTCHA" "SILENT_CLOSE"

The default enforcement action that will be applied to traffic spoofing a known bot defined within the known_bots array. This enforcement action is only applied when an explicit enforcement action has not been applied to a known bot through the known_bots.spoof_action_type property.

Learn more about enforcement actions.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "actions": {
    },
  • "bots_prod_id": "string",
  • "exception_cookie": [
    ],
  • "exception_ja3": [
    ],
  • "exception_ja4": [
    ],
  • "exception_url": [
    ],
  • "exception_user_agent": [
    ],
  • "inspect_known_bots": true,
  • "categories": [
    ],
  • "known_bots": [
    ],
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "name": "string",
  • "spoof_bot_action_type": "ALERT",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Bot Manager Configuration

Deletes a bot manager configuration.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_manager_id
required
string

A bot manager configuration's system-defined ID.

Use the Get All Bot Managers operation to retrieve a list of bot manager configurations and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bot-managers/{bot_manager_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Bot Manager Configuration's Version History

Retrieve a list of versions for a specific bot manager configuration.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_manager_id
required
string

A bot manager configuration's system-defined ID.

Use the Get All Bot Managers operation to retrieve a list of bot manager configurations and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bot-managers/{bot_manager_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Bot Manager Configuration by Version

Retrieve a specific version of a bot manager configuration.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_manager_id
required
string

A bot manager configuration's system-defined ID.

Use the Get All Bot Managers operation to retrieve a list of bot manager configurations and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bot-managers/{bot_manager_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

Bot Ruleset

A bot ruleset contains one or more rule(s) for determining how bots will be identified.

Learn more about bot rulesets.

Add Bot Ruleset

Creates a bot ruleset. A bot ruleset defines criteria for bot identification.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
id
string

The bot ruleset's system-defined ID.

required
Array of Reputation DB Include (object) or Security Rule (object)

Contains the bot rules associated with this bot ruleset. You may create up to 10 bot rules per bot ruleset.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this bot ruleset was last modified.

name
string

The bot ruleset's name.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "directive": [
    ],
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "name": "string",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Bot Rulesets

Lists all bot rulesets.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bots',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Bot Ruleset

Retrieves a bot ruleset. A bot ruleset defines criteria for bot identification.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_id
required
string

A bot ruleset's system-defined ID.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bots/{bot_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "customer_id": "ae2b89dc-b7a5-45bb-98af-5039ac0fe989",
  • "directive": [
    ],
  • "id": "vipDxgOV",
  • "last_modified_date": "2023-10-13T23:36:11.333280Z",
  • "name": "My first bot ruleset",
  • "team_config": true
}

Update Bot Ruleset

Updates a bot ruleset. A bot ruleset defines criteria for bot identification.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_id
required
string

A bot ruleset's system-defined ID.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

Request Body schema: application/json
required
id
string

The bot ruleset's system-defined ID.

required
Array of Reputation DB Include (object) or Security Rule (object)

Contains the bot rules associated with this bot ruleset. You may create up to 10 bot rules per bot ruleset.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this bot ruleset was last modified.

name
string

The bot ruleset's name.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "directive": [
    ],
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "name": "string",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Bot Ruleset

Deletes a bot ruleset. A bot ruleset defines criteria for bot identification.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_id
required
string

A bot ruleset's system-defined ID.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bots/{bot_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Bot Ruleset's Version History

Retrieve a list of versions for a specific bot ruleset.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_id
required
string

A bot ruleset's system-defined ID.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bots/{bot_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Bot Ruleset by Version

Retrieve a specific version of a bot ruleset.

Authorizations:
bot_securityScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

bot_id
required
string

A bot ruleset's system-defined ID.

Use the Get All Bot Rulesets operation to retrieve a list of bot rulesets and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/{organization_id}/bots/{bot_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

Known Bots

Lists all known bots.

Get Available Known Bots

Retrieves a list of all known bots. Each known bot is identified by a token (e.g., google and yahoo).

Authorizations:
bot_securityScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/bot-security/v0.9/known-bots/companies',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • "ahrefs",
  • "apple",
  • "aspiegel",
  • "baidu",
  • "datadog",
  • "line",
  • "msn",
  • "neeva",
  • "pingdom",
  • "semrush",
  • "uptimerobot",
  • "yahoo",
  • "yandex",
  • "google",
  • "facebook",
  • "twitter",
  • "other"
]

Custom Rules

A custom rule tailors how Edgio Security identifies a threat.

Learn more about custom rules.

Add Custom Rule

Creates a custom rule that defines custom threat assessment criteria.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
id
string

The custom rule's system-defined ID.

Array of objects (Security Rule)

Contains custom rules. Each directive object defines a custom rule through the sec_rule object. You may create up to 10 custom rules.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

name
string

The custom rule's name.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "directive": [
    ],
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "name": "string",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Custom Rules

Retrieves a list of custom rules. A custom rule allows you to define custom threat assessment criterion.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/rules',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Custom Rule

Retrieves a custom rule. Use a custom rule to define custom threat assessment criteria.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

rule_id
required
string

A custom rule's system-defined ID.

Use the Get All Custom Rules operation to retrieve a list of custom rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/rules/{rule_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "customer_id": "ae2b89dc-b7a5-45bb-98af-5039ac0fe989",
  • "directive": [
    ],
  • "id": "9kaZvYXo",
  • "last_modified_by": "jsmith@example.com via Edgio AppOps Console",
  • "last_modified_date": "2023-09-29T22:28:09.790308Z",
  • "name": "My Custom Rule",
  • "team_config": true
}

Update Custom Rule

Updates a custom rule that defines custom threat assessment criteria.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

rule_id
required
string

A custom rule's system-defined ID.

Use the Get All Custom Rules operation to retrieve a list of custom rules and their system-defined IDs.

Request Body schema: application/json
required
id
string

The custom rule's system-defined ID.

Array of objects (Security Rule)

Contains custom rules. Each directive object defines a custom rule through the sec_rule object. You may create up to 10 custom rules.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

name
string

The custom rule's name.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "directive": [
    ],
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "name": "string",
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Custom Rule

Deletes a custom rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

rule_id
required
string

A custom rule's system-defined ID.

Use the Get All Custom Rules operation to retrieve a list of custom rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/rules/{rule_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Custom Rule's Version History

Retrieve a list of versions for a specific custom rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

rule_id
required
string

A custom rule's system-defined ID.

Use the Get All Custom Rules operation to retrieve a list of custom rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/rules/{rule_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Custom Rule by Version

Retrieve a specific version of a custom rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

rule_id
required
string

A custom rule's system-defined ID.

Use the Get All Custom Rules operation to retrieve a list of custom rules and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/rules/{rule_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

Managed Rules (Profiles)

A managed rule identifies threats through predefined security policies. You may fine-tune these security policies to prevent false positives.

Learn more about managed rules.

Add Managed Rule

Creates a managed rule that identifies a ruleset configuration and describes a valid request.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
version
string

Reserved for future use.

id
string

The managed rule's system-defined ID.

name
string

The managed rule's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this managed rule. This field does not reflect updates performed through the REST API.

ruleset_id
string

The system-defined ID for the Edgio ruleset associated with this managed rule.

Use the Get Edgio Rulesets endpoint to retrieve a list of Edgio rulesets and their system-defined IDs.

ruleset_version
string

The version of the Edgio ruleset associated with this managed rule.

Use the Get Edgio Rulesets endpoint to retrieve a list of Edgio rulesets and their versions.

policies
Array of strings

Contains a list of policies that have been enabled on this managed rule.

object (General Settings)

Contains settings that define the profile for a valid request.

Array of objects (Disabled Rule)

Contains all disabled rules.

Default Value: Null

Array of objects (Rule Target Update)

Defines one or more targets that will be ignored and/or replaced.

Key information:

  • If is_negated is set to true, then this target identifies rule criterion that will be ignored when identifying threats.

  • The replace_target property defines criterion that will be used to identify threats instead of the existing criterion.

  • If is_regex is set to true, then you may use regular expressions to define criteria for identifying multiple types of threats.

  • A maximum of 25 target configurations may be created.

Array of objects (Redacted Variable)

Remove sensitive information from WAF log data.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "ruleset_id": "string",
  • "ruleset_version": "string",
  • "policies": [
    ],
  • "general_settings": {
    },
  • "disabled_rules": [
    ],
  • "rule_target_updates": [
    ],
  • "redacted_variables": [
    ],
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Managed Rules

Retrieves a list of managed rules. A managed rule identifies a ruleset configuration and describes a valid request.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/profiles',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Get Managed Rule

Retrieves a managed rule that identifies a ruleset configuration and describes a valid request.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

profile_id
required
string

A managed rule's system-defined ID.

Use the Get All Managed Rules operation to retrieve a list of managed rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/profiles/{profile_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "created_date": "09/27/2023 05:16:28 PM",
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "general_settings": {
    },
  • "id": "VzhYZAMT",
  • "last_modified_date": "2023-09-27T17:16:28.114124Z",
  • "name": "My Managed Rule",
  • "policies": [
    ],
  • "rule_target_updates": [ ],
  • "ruleset_id": "ERS",
  • "ruleset_version": "latest",
  • "team_config": true,
  • "version": null
}

Update Managed Rule

Updates a managed rule that identifies a ruleset configuration and describes a valid request.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

profile_id
required
string

A managed rule's system-defined ID.

Use the Get All Managed Rules operation to retrieve a list of managed rules and their system-defined IDs.

Request Body schema: application/json
required
version
string

Reserved for future use.

id
string

The managed rule's system-defined ID.

name
string

The managed rule's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which this configuration was last modified.

last_modified_by
string

The Edgio Console user that last modified this managed rule. This field does not reflect updates performed through the REST API.

ruleset_id
string

The system-defined ID for the Edgio ruleset associated with this managed rule.

Use the Get Edgio Rulesets endpoint to retrieve a list of Edgio rulesets and their system-defined IDs.

ruleset_version
string

The version of the Edgio ruleset associated with this managed rule.

Use the Get Edgio Rulesets endpoint to retrieve a list of Edgio rulesets and their versions.

policies
Array of strings

Contains a list of policies that have been enabled on this managed rule.

object (General Settings)

Contains settings that define the profile for a valid request.

Array of objects (Disabled Rule)

Contains all disabled rules.

Default Value: Null

Array of objects (Rule Target Update)

Defines one or more targets that will be ignored and/or replaced.

Key information:

  • If is_negated is set to true, then this target identifies rule criterion that will be ignored when identifying threats.

  • The replace_target property defines criterion that will be used to identify threats instead of the existing criterion.

  • If is_regex is set to true, then you may use regular expressions to define criteria for identifying multiple types of threats.

  • A maximum of 25 target configurations may be created.

Array of objects (Redacted Variable)

Remove sensitive information from WAF log data.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "ruleset_id": "string",
  • "ruleset_version": "string",
  • "policies": [
    ],
  • "general_settings": {
    },
  • "disabled_rules": [
    ],
  • "rule_target_updates": [
    ],
  • "redacted_variables": [
    ],
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Managed Rule

Deletes a managed rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

profile_id
required
string

A managed rule's system-defined ID.

Use the Get All Managed Rules operation to retrieve a list of managed rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/profiles/{profile_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Managed Rule's Version History

Retrieve a list of versions for a specific managed rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

profile_id
required
string

A managed rule's system-defined ID.

Use the Get All Managed Rules operation to retrieve a list of managed rules and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/profiles/{profile_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Managed Rule by Version

Retrieve a specific version of a managed rule.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

profile_id
required
string

A managed rule's system-defined ID.

Use the Get All Managed Rules operation to retrieve a list of managed rules and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/profiles/{profile_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    },
  • "ruleset_version": "string",
  • "ruleset_id": 0
}

Edgio Rulesets

An Edgio ruleset contains a set of managed security policies that identifies threats and provides generic protection against a variety of unknown vulnerabilities. Edgio rulesets are versioned. A new version is released whenever an Edgio ruleset is updated.

Get Edgio Rulesets

Retrieve a list of available Edgio rulesets.

Authorizations:
wafScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/rulesets',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Edgio Ruleset's Versions

Retrieve a list of the available versions for a specific Edgio ruleset.

Authorizations:
wafScope
path Parameters
ruleset_id
required
string

The Edgio ruleset's system-defined ID.

Use the Get Edgio Rulesets operation to retrieve a list of Edgio rulesets and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/rulesets/{ruleset_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • "2023-07-15",
  • "latest",
  • "2023-04-15",
  • "2022-11-04",
  • "2022-12-14"
]

Get Edgio Ruleset's Policies

Retrieve a list of policies associated with an Edgio ruleset.

Authorizations:
wafScope
path Parameters
ruleset_id
required
string

The Edgio ruleset's system-defined ID.

Use the Get Edgio Rulesets operation to retrieve a list of Edgio rulesets and their system-defined IDs.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/rulesets/{ruleset_id}/version/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Client-Side Protection

Client-Side Protection allows you to apply a consistent Content Security Policy (CSP) across all of your pages. The purpose of a CSP is to detect and mitigate attacks, such as cross-site scripting (XSS) and code injection.

Learn more about Client-Side Protection policies.

Add Client-Side Protection Policy

Creates a Client-Side Protection policy.

Authorizations:
client_wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
id
string

The Client-Side Protection policy's system-defined ID.

name
string

The Client-Side Protection policy's name.

customer_id
string

An internal system-defined ID.

last_modified_date
string

The date and time at which this policy was last modified.

last_modified_by
string

The Edgio Console user that last modified this Client-Side Protection policy. This field does not reflect updates performed through the REST API.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Array of objects (Header Entry)

Contains request header information to be added to edge responses.

csp_script_nonce
string

This property is reserved for internal use.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "team_config": true,
  • "headers": [
    ],
  • "csp_script_nonce": "string"
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Client-Side Protection Policies

Retrieves a list of Client-Side Protection policies.

Authorizations:
client_wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/client-waf/v0.9/{organization_id}/client-wafs',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
[
  • {
    }
]

Update Client-Side Protection Policy

Updates a Client-Side Protection policy.

Authorizations:
client_wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

client_waf_id
required
string

A Client-Side Protection policy's system-defined ID.

Use the Get All Client-Side Protection Policies operation to retrieve a list of Client-Side Protection policies and their system-defined IDs.

Request Body schema: application/json
required
id
string

The Client-Side Protection policy's system-defined ID.

name
string

The Client-Side Protection policy's name.

customer_id
string

An internal system-defined ID.

last_modified_date
string

The date and time at which this policy was last modified.

last_modified_by
string

The Edgio Console user that last modified this Client-Side Protection policy. This field does not reflect updates performed through the REST API.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Array of objects (Header Entry)

Contains request header information to be added to edge responses.

csp_script_nonce
string

This property is reserved for internal use.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "team_config": true,
  • "headers": [
    ],
  • "csp_script_nonce": "string"
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Delete Client-Side Protection Policy

Deletes a Client-Side Protection policy.

Authorizations:
client_wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

client_waf_id
required
string

A Client-Side Protection policy's system-defined ID.

Use the Get All Client-Side Protection Policies operation to retrieve a list of Client-Side Protection policies and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/client-waf/v0.9/{organization_id}/client-wafs/{client_waf_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Security Apps

A Security App:

  • Identifies the set of traffic to which it applies by hostname, a URL path, or both.

  • Defines how threats will be detected through access rules, API security ruleset, rate rules, bot manager configuration, custom ruleset, and managed rules.

  • Audit new access rules, API Security rules, custom rules, and managed rules.

  • Defines the production and audit enforcement action that will be applied to the requests identified as threats by access rules, API security ruleset, rate rules, custom ruleset, and managed rules.

Learn more about Security Apps.

Initialize Security App

Initializes Security App by creating your first Security App configuration. If one or more Security App(s) exist, you may only use the Manage All Security Apps operation to add, update, or delete Security Apps.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
version
string

Reserved for future use

id
string

The Security App's system-defined ID.

name
string

The Security App's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which a Security App returned by the scopes array was last modified.

last_modified_by
string

The Edgio Console user that last modified this Security App configuration. This field does not reflect updates performed through the REST API.

Array of objects (Scope)

Contains a list of Security Apps.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "scopes": [
    ],
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get All Security Apps

Retrieves a list of Security Apps.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/scopes',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "account_type": "E",
  • "bot_tier": "B",
  • "customer_id": "12345678-1234-1234-1234-1234567890ab",
  • "id": "aZC7ehsy",
  • "last_modified_by": "jsmith@example.com via Edgio AppOps Console",
  • "last_modified_date": "2023-09-29T19:47:25.334678Z",
  • "name": "New Name",
  • "scopes": [
    ],
  • "team_config": true
}

Manage All Security Apps

Creates, updates, and deletes one or more Security App(s). Each Security App:

  • Identifies the set of traffic to which it applies by hostname, a URL path, or both.

  • Defines how threats will be detected through access rules, custom rules, managed rules, and rate rules.

    If one or more condition group(s) have been defined within a rate rule, then traffic will only be rate limited when it also satisfies at least one of those condition groups.

  • Defines how threats will be handled through a production enforcement action, audit enforcement action, or both.

Key information:

  • This operation allows you to quickly create, update, or delete one or more Security App(s). These actions cannot be undone.

  • Create a Security App by adding a scope object to the request.

  • Update a Security App by modifying the corresponding scope object in the request. The id property identifies the Security App that will be updated.

  • Delete a Security App by excluding the corresponding scope object from the request.

    All Security Apps that are not explicitly defined within the request will be deleted.

  • The recommended method for updating your Security Apps is to perform the following steps:

    1. If you have not created at least one Security App, then you should do so either through the Edgio Console or through the Initialize Security Apps operation.

    2. Retrieve your current set of Security Apps through the Get All Security Apps operation.

    3. Add, modify, or remove Security App(s) from the response as needed.

    4. Pass the updated payload to this operation.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
version
string

Reserved for future use

id
string

The Security App's system-defined ID.

name
string

The Security App's name.

customer_id
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

last_modified_date
string

The date and time at which a Security App returned by the scopes array was last modified.

last_modified_by
string

The Edgio Console user that last modified this Security App configuration. This field does not reflect updates performed through the REST API.

Array of objects (Scope)

Contains a list of Security Apps.

team_config
required
boolean

This property must always be true. If passed in the request, set it to true.

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "id": "string",
  • "name": "string",
  • "customer_id": "string",
  • "last_modified_date": "string",
  • "last_modified_by": "string",
  • "scopes": [
    ],
  • "team_config": true
}

Response samples

Content type
application/json
{
  • "id": "VzhYZAMT",
  • "status": "success",
  • "success": true
}

Get Security App Version History

Retrieve version history for your Security App configuration(s).

Security App configurations are versioned as a single entity. This means that applying a change to one or more Security App configuration(s) causes Edgio to save and version all Security App configurations. This allows you to retrieve the state of your Security App configurations at a specific point-in-time.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

scope_id
required
string

The system-defined ID for a collection of Security App configurations.

Use the Get All Security Apps operation to retrieve the system-defined ID for this collection. This ID is reported by the id property in the root of the response. Do not use an ID defined within the scopes array.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/scopes/{scope_id}/versions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "items": [
    ]
}

Get Security Apps by Version

Retrieve the set of Security App configurations associated with a specific version.

Security App configurations are versioned as a single entity. This means that applying a change to one or more Security App configuration(s) causes Edgio to save and version all Security App configurations. This allows you to retrieve the state of your Security App configurations at a specific point-in-time.

Authorizations:
wafScope
path Parameters
organization_id
required
string

Your organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, select your organization from the top menu and then click Settings. It is listed under Organization ID.

scope_id
required
string

The system-defined ID for a collection of Security App configurations.

Use the Get All Security Apps operation to retrieve the system-defined ID for this collection. This ID is reported by the id property in the root of the response. Do not use an ID defined within the scopes array.

version_id
required
string

A resource's version number (e.g., 1, 2, or 3).

Retrieve the resource's version history to find out the available versions.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/waf/v0.9/{organization_id}/scopes/{scope_id}/versions/{version_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "string",
  • "@type": "string",
  • "version": 0,
  • "config_id": "string",
  • "draft": true,
  • "modified_date": "string",
  • "modified_by": "string",
  • "config_name": "string",
  • "config_payload": {
    }
}

Organizations

Automate organization management.

Delete Organization

Deletes an organization.

Authorizations:
accountsScope
path Parameters
organization_id
required
string

The organization's system-defined ID.

From the Edgio Console, navigate to the desired organization and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/accounts/v0.1/organizations/{organization_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "invalid_input",
  • "title": "Bad request",
  • "description": [
    ],
  • "status_code": 400,
  • "details": [
    ]
}

Update Organization

Updates an organization.

Authorizations:
accountsScope
path Parameters
organization_id
required
string

The organization's system-defined ID.

From the Edgio Console, navigate to the desired organization and then click Settings. It is listed under Organization ID.

Request Body schema: application/json
required
name
string

The organization's name.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "partner_id": "string",
  • "name": "string",
  • "pci_compliance": "pci",
  • "pci_dns_domain_name": "string",
  • "non_pci_dns_domain_name": "string",
  • "tier": "free",
  • "domain_count": 0,
  • "assets_under_management_count": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get Organization

Retrieves information about an organization.

Authorizations:
accountsScope
path Parameters
organization_id
required
string

The organization's system-defined ID.

From the Edgio Console, navigate to the desired organization and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/organizations/{organization_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "partner_id": "string",
  • "name": "string",
  • "pci_compliance": "pci",
  • "pci_dns_domain_name": "string",
  • "non_pci_dns_domain_name": "string",
  • "tier": "free",
  • "domain_count": 0,
  • "assets_under_management_count": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Members

Automate an organization's membership including the role assigned to each member.

Learn about roles.

Delete Member

Deletes a member.

Authorizations:
accountsScope
path Parameters
member_id
required
string

The organization member's system-defined ID.

Retrieve a list of an organization's members and their system-defined IDs through the Get All Members operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/accounts/v0.1/members/{member_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "invalid_input",
  • "title": "Bad request",
  • "description": [
    ],
  • "status_code": 400,
  • "details": [
    ]
}

Update Member

Updates a member.

Authorizations:
accountsScope
path Parameters
member_id
required
string

The organization member's system-defined ID.

Retrieve a list of an organization's members and their system-defined IDs through the Get All Members operation.

Request Body schema: application/json
required
role
string
Enum: "none" "viewer" "purger" "security_auditor" "security_manager" "editor" "maintainer" "admin"
Array of objects

Override the role assigned to the member at the organization level for a specific property.

Array of objects

Override the role assigned to the member at the organization or property level for a specific environment.

Responses

Request samples

Content type
application/json
{
  • "role": "none",
  • "property_roles": [
    ],
  • "environment_roles": [
    ]
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "role": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_email": "string",
  • "environment_roles": [
    ],
  • "property_roles": [
    ]
}

Get Member

Retrieves information about a member.

Authorizations:
accountsScope
path Parameters
member_id
required
string

The organization member's system-defined ID.

Retrieve a list of an organization's members and their system-defined IDs through the Get All Members operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/members/{member_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "role": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_email": "string",
  • "environment_roles": [
    ],
  • "property_roles": [
    ]
}

Add Member

Creates a member.

Authorizations:
accountsScope
Request Body schema: application/json
required
user_email
required
string

The member's email address.

organization_id
required
string

The organization's system-defined ID.

From the Edgio Console, navigate to the desired organization and then click Settings. It is listed under Organization ID.

role
string
Enum: "none" "viewer" "purger" "security_auditor" "security_manager" "editor" "maintainer" "admin"
Array of objects

Override the role assigned to the member at the organization level for a specific property.

Array of objects

Override the role assigned to the member at the organization or property level for a specific environment.

Responses

Request samples

Content type
application/json
{
  • "user_email": "string",
  • "organization_id": "string",
  • "role": "none",
  • "property_roles": [
    ],
  • "environment_roles": [
    ]
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "role": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_email": "string",
  • "environment_roles": [
    ],
  • "property_roles": [
    ]
}

Get All Members

Returns all members.

Authorizations:
accountsScope
query Parameters
page
integer <int32>
Default: 0

0-based page number.

page_size
integer <int32>
Default: 20

Number of results per page. Valid values are: 1 - 100. Default value: 20

organization_id
required
string

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/members',
  qs: {
    page: 'SOME_INTEGER_VALUE',
    page_size: 'SOME_INTEGER_VALUE',
    organization_id: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Properties

Automate property management.

Delete Property

Delete a property.

Authorizations:
accountsScope
path Parameters
property_id
required
string

The property's system-defined ID.

Retrieve a list of properties and their system-defined IDs through the Get All Properties operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/accounts/v0.1/properties/{property_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "invalid_input",
  • "title": "Bad request",
  • "description": [
    ],
  • "status_code": 400,
  • "details": [
    ]
}

Update Property

Update a property.

Authorizations:
accountsScope
path Parameters
property_id
required
string

The property's system-defined ID.

Retrieve a list of properties and their system-defined IDs through the Get All Properties operation.

Request Body schema: application/json
required
slug
string

The property's name. Space characters are converted to dashes.

Responses

Request samples

Content type
application/json
{
  • "slug": "string"
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "organization_id": "string",
  • "slug": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get Property

Retrieve a property.

Authorizations:
accountsScope
path Parameters
property_id
required
string

The property's system-defined ID.

Retrieve a list of properties and their system-defined IDs through the Get All Properties operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/properties/{property_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "organization_id": "string",
  • "slug": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Create Property

Create a property.

Authorizations:
accountsScope
Request Body schema: application/json
required
slug
required
string

The property's name. Space characters are converted to dashes.

organization_id
required
string

The system-defined ID for the organization under which this property will be created.

Responses

Request samples

Content type
application/json
{
  • "slug": "string",
  • "organization_id": "string"
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "organization_id": "string",
  • "slug": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get All Properties

Returns all properties.

Authorizations:
accountsScope
query Parameters
page
integer <int32>
Default: 0

0-based page number.

page_size
integer <int32>
Default: 20

Number of results per page. Valid values are: 1 - 100. Default value: 20

organization_id
required
string

An organization's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired organization and then click Settings. It is listed under Organization ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/properties',
  qs: {
    page: 'SOME_INTEGER_VALUE',
    page_size: 'SOME_INTEGER_VALUE',
    organization_id: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Environments

Automate environment management.

You may also manage environment variables through our REST API.

Delete Environment

Deletes an environment.

Authorizations:
accountsScope
path Parameters
environment_id
required
string

The environment's system-defined ID.

Retrieve a list of environments and their system-defined IDs through the Get All Environments operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/accounts/v0.1/environments/{environment_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "invalid_input",
  • "title": "Bad request",
  • "description": [
    ],
  • "status_code": 400,
  • "details": [
    ]
}

Update Environment

Updates an environment.

Authorizations:
accountsScope
path Parameters
environment_id
required
string

The environment's system-defined ID.

Retrieve a list of environments and their system-defined IDs through the Get All Environments operation.

Request Body schema: application/json
required
name
string

The environment's name. This name may only consist of lowercase characters, numbers, dashes, and underscores.

can_members_deploy
boolean

Determines whether all organization memmbers may deploy to this environment. Disabling this option restricts deployments to admin users and the deploy token.

http_request_logging
boolean

Determines whether deep-request inspection for serverless logs will be enabled.

preserve_cache
boolean

Determines whether deploying a new build to this environment will use the same cache as the previous deployment.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "can_members_deploy": true,
  • "http_request_logging": true,
  • "preserve_cache": true
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "property_id": "string",
  • "legacy_account_number": "string",
  • "name": "string",
  • "can_members_deploy": true,
  • "only_maintainers_can_deploy": true,
  • "http_request_logging": true,
  • "default_domain_name": "string",
  • "pci_compliance": true,
  • "dns_domain_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get Environment

Retrieves an environment's settings and metadata.

Authorizations:
accountsScope
path Parameters
environment_id
required
string

The environment's system-defined ID.

Retrieve a list of environments and their system-defined IDs through the Get All Environments operation.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/environments/{environment_id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "property_id": "string",
  • "legacy_account_number": "string",
  • "name": "string",
  • "can_members_deploy": true,
  • "only_maintainers_can_deploy": true,
  • "http_request_logging": true,
  • "default_domain_name": "string",
  • "pci_compliance": true,
  • "dns_domain_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Add Environment

Creates an environment.

Authorizations:
accountsScope
Request Body schema: application/json
required
property_id
required
string

The property's system-defined ID.

name
required
string

The environment's name. This name may only consist of lowercase characters, numbers, dashes, and underscores.

can_members_deploy
boolean

Deprecated by the only_maintainers_can_deploy property."

only_maintainers_can_deploy
boolean

Determines whether Editors will be restricted to read-only access. Enabling this option restricts configuration and deployments to deploy tokens, Maintainers, and Admins.

http_request_logging
boolean

Determines whether deep-request inspection for serverless logs will be enabled.

Responses

Request samples

Content type
application/json
{
  • "property_id": "string",
  • "name": "string",
  • "can_members_deploy": true,
  • "only_maintainers_can_deploy": true,
  • "http_request_logging": true
}

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": { },
  • "id": "string",
  • "property_id": "string",
  • "legacy_account_number": "string",
  • "name": "string",
  • "can_members_deploy": true,
  • "only_maintainers_can_deploy": true,
  • "http_request_logging": true,
  • "default_domain_name": "string",
  • "pci_compliance": true,
  • "dns_domain_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get All Environments

Returns all environments that belong to the specified property.

Authorizations:
accountsScope
query Parameters
page
integer <int32>
Default: 0

0-based page number.

page_size
integer <int32>
Default: 20

Number of results per page. Valid values are: 1 - 100. Default value: 20

property_id
required
string

The property's system-defined ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/accounts/v0.1/environments',
  qs: {
    page: 'SOME_INTEGER_VALUE',
    page_size: 'SOME_INTEGER_VALUE',
    property_id: 'SOME_STRING_VALUE'
  },
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "string",
  • "@id": "string",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Metrics

Generate report data through which you can analyze traffic trends, such as traffic volume, cache hit ratios, response times, geographical distribution of users, and origin server performance.

Key concepts:

  • Dataset: A dataset is a structured collection of data that represents a set of events. Each dataset consists of metrics and dimensions.

  • Dimension: A dimension describes an attribute of a request and is typically used to correlate the desired set of requests with metrics.

    For example, the country_code dimension identifies the country from which a request originated.

  • Metric: A metric measures the rate, an amount, or the total number of times that a particular attribute occurred over a given record.

    For example, the requests_edge_total metric reports the total number of requests submitted to our network.

Learn how to use the Metrics API.

Get Available Datasets

Returns all available datasets. A dataset is a structured collection of data that represents a set of events. Each dataset consists of metrics and dimensions.

Authorizations:
metricsScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/metrics/v1/datasets',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/datasets",
  • "@type": "Collection",
  • "items": [
    ]
}

Get Dataset

Returns a dataset. Specify the desired dataset by its name.

Authorizations:
metricsScope
path Parameters
name
required
string

The dataset's name.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/metrics/v1/datasets/{name}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
Example
{
  • "@id": "/datasets/edge_usage_by_country",
  • "@type": "MetricsDataset",
  • "name": "edge_usage_by_country",
  • "description": "Environment-specific aggregated edge usage metrics that can be broken down by time, country, or both.",
  • "created_at": "2024-04-15T00:00:00Z",
  • "time_granularities": [
    ],
  • "data_retention_policy": {
    },
  • "dimensions": [
    ],
  • "metrics": [
    ],
  • "filters": [
    ]
}

Query Dataset

Generates report data for a specific dataset.

Authorizations:
metricsScope
path Parameters
name
required
string

The dataset's name.

Request Body schema: application/json
required
required
object

The query's time period.

dimensions
Array of strings

The dimensions that will be returned.

metrics
required
Array of strings non-empty

The metrics that will be returned. You must specify at least one metric.

required
object

Contains the query's filters. Each filter is a key-value pair where the key is the type of filter.

time_granularity
string
Enum: "FIVE_MINUTES" "HOUR" "DAY"

The behavior of this property varies according to whether the response includes the time dimension.

  • Present: Aggregates data by the specified time interval.
  • Missing: Calculates summaries from pre-aggregated data.

The query's time period determines the set of supported granularities.

  • FIVE_MINUTES: Requires a time period of 24 hours or less.
  • HOUR: Requires a time period of 7 days or less.
  • DAY: Requires a time period of 60 days or less.

By default, the response uses the broadest available time granularity.

Responses

Request samples

Content type
application/json
{
  • "dimensions": [
    ],
  • "metrics": [
    ],
  • "filters": {
    },
  • "date_range": {
    },
  • "time_granularity": "DAY"
}

Response samples

Content type
application/json
{
  • "@id": "/datasets/edge_usage_by_country/data",
  • "@type": "MetricsDataResponse",
  • "data_fields": [
    ],
  • "data_rows": [
    ],
  • "request": {
    }
}

Real-Time Alerts

Receive email notifications when the condition(s) defined for a specific environment are met.

Learn more about real-time alerts.

Add Real-Time Alert

Creates a real-time alert.

Authorizations:
rtsAlertsScope
Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

name
required
string

The real-time alert's name. The subject line for each email notification identifies the real-time alert that was triggered or resolved by name.

condition_duration
string (Condition Duration)
Enum: "1m" "5m" "15m" "30m" "1h"

The length of time that one or more condition(s) associated with this real-time alert must be satisfied before a notification may be sent.

required
Array of objects (Alert Condition) non-empty

Criteria that defines when an alert should be triggered.

required
object (Alert Notification)

Defines how a notification for a real-time alert is delivered.

Responses

Request samples

Content type
application/json
{
  • "name": "request body for Alert",
  • "environment_id": "25e98143-1fb8-4852-a957-99ea929984cb",
  • "condition_duration": "1m",
  • "conditions": [
    ],
  • "notification": {
    }
}

Response samples

Content type
application/json
{
  • "@type": "Alert",
  • "@id": "/rts/v1/alerts/ba7d2900-809f-453d-bdfd-c720fa370456",
  • "id": "ba7d2900-809f-453d-bdfd-c720fa370123",
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "name": "Account has more than 100 5xx events for last 5m",
  • "condition_duration": "5m",
  • "conditions": [
    ],
  • "notification": {
    }
}

Get All Real-Time Alerts

Returns all real-time alerts associated with an environment.

Authorizations:
rtsAlertsScope
query Parameters
limit
integer <int32> >= 1
Default: 10
Example: limit=20

Specifies the maximum number of items to retrieve. Useful for pagination.

offset
integer <int32> >= 0
Default: 0
Example: offset=10

Indicates the starting position from where items should be retrieved. Useful in combination with 'limit' for pagination.

environment_id
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/real-time-stats/v1/alerts',
  qs: {limit: '20', offset: '10', environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "../dictionary",
  • "@type": "Collection",
  • "@links": {
    },
  • "total_items": 0,
  • "items": [
    ]
}

Get Real-Time Alert

Retrieves a real-time alert by its system-defined ID.

Authorizations:
rtsAlertsScope
path Parameters
id
required
string <uuid>

The real-time alert's unique identifier (UUID).

Use the Get All Real-Time Alerts operation to retrieve a list of real-time alerts and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/real-time-stats/v1/alerts/{id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Alert",
  • "@id": "/rts/v1/alerts/ba7d2900-809f-453d-bdfd-c720fa370456",
  • "id": "ba7d2900-809f-453d-bdfd-c720fa370123",
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "name": "Account has more than 100 5xx events for last 5m",
  • "condition_duration": "5m",
  • "conditions": [
    ],
  • "notification": {
    }
}

Update Real-Time Alert

Updates a real-time alert. Identify the desired alert by its system-defined ID.

Authorizations:
rtsAlertsScope
path Parameters
id
required
string <uuid>

The real-time alert's unique identifier (UUID).

Use the Get All Real-Time Alerts operation to retrieve a list of real-time alerts and their system-defined IDs.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

name
required
string

The real-time alert's name. The subject line for each email notification identifies the real-time alert that was triggered or resolved by name.

condition_duration
string (Condition Duration)
Enum: "1m" "5m" "15m" "30m" "1h"

The length of time that one or more condition(s) associated with this real-time alert must be satisfied before a notification may be sent.

required
Array of objects (Alert Condition) non-empty

Criteria that defines when an alert should be triggered.

required
object (Alert Notification)

Defines how a notification for a real-time alert is delivered.

Responses

Request samples

Content type
application/json
{
  • "name": "request body for Alert",
  • "environment_id": "25e98143-1fb8-4852-a957-99ea929984cb",
  • "condition_duration": "1m",
  • "conditions": [
    ],
  • "notification": {
    }
}

Response samples

Content type
application/json
{
  • "@type": "Alert",
  • "@id": "/rts/v1/alerts/ba7d2900-809f-453d-bdfd-c720fa370456",
  • "id": "ba7d2900-809f-453d-bdfd-c720fa370123",
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "name": "Account has more than 100 5xx events for last 5m",
  • "condition_duration": "5m",
  • "conditions": [
    ],
  • "notification": {
    }
}

Delete Real-Time Alert

Permanently deletes a real-time alert. Identify the desired alert by its system-defined ID.

Authorizations:
rtsAlertsScope
path Parameters
id
required
string <uuid>

The real-time alert's unique identifier (UUID).

Use the Get All Real-Time Alerts operation to retrieve a list of real-time alerts and their system-defined IDs.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/real-time-stats/v1/alerts/{id}',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "unauthorized",
  • "status_code": 401,
  • "title": "Auth not valid",
  • "description": "Could not validate access",
  • "details": [
    ]
}

RTLD Access Logs Profile

Automate Real-Time Log Delivery (RTLD) Access Logs profile management. A RTLD Access Logs profile defines the condition(s) under which log data for requests submitted to our network will be delivered to the desired destination (e.g., your web server or AWS S3).

Learn more about Real-Time Log Delivery.

Add RTLD Access Logs Profile

Creates a RTLD Access Logs profile.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
custom_cookies
Array of strings [ 1 .. 250 ] items unique ^((?=.*[^\u0021-\u007E])|(?=.*[\(\)\[\]\{\}\?...

Defines each cookie that will be logged for each request.

Each cookie defined within this property must also be defined within the Realtime Log Delivery page for the environment corresponding to this profile. Learn more.

custom_request_headers
Array of strings [ 1 .. 250 ] items unique ^[a-zA-Z0-9-]+$

Defines each request header that will be logged for each request.

Each request header defined within this property must also be defined within the Realtime Log Delivery page for the environment corresponding to this profile. Learn more.

custom_response_headers
Array of strings [ 1 .. 250 ] items unique ^[a-zA-Z0-9-]+$

Defines each response header that will be logged for each request.

Each response header defined within this property must also be defined within the Realtime Log Delivery page for the environment corresponding to this profile. Learn more.

description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD Access Logs) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/accesslogs/profiles/10027",
  • "@type": "AccessLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Get All RTLD Access Logs Profiles

Returns all RTLD Access Logs profiles associated with an environment.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/accesslogs/profiles',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/accesslogs/profiles",
  • "@type": "Collection",
  • "items": [
    ]
}

Get RTLD Access Logs Profile

Retrieves a RTLD Access Logs profile by its system-defined ID.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/accesslogs/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/accesslogs/profiles/10027",
  • "@type": "AccessLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Update RTLD Access Logs Profile

Updates a RTLD Access Logs profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
custom_cookies
Array of strings [ 1 .. 250 ] items unique ^((?=.*[^\u0021-\u007E])|(?=.*[\(\)\[\]\{\}\?...

Defines each cookie that will be logged for each request.

Each cookie defined within this property must also be defined within the Realtime Log Delivery page for the environment corresponding to this profile. Learn more.

custom_request_headers
Array of strings [ 1 .. 250 ] items unique ^[a-zA-Z0-9-]+$

Defines each request header that will be logged for each request.

Each request header defined within this property must also be defined within the Realtime Log Delivery page for the environment corresponding to this profile. Learn more.

custom_response_headers
Array of strings [ 1 .. 250 ] items unique ^[a-zA-Z0-9-]+$

Defines each response header that will be logged for each request.

Each response header defined within this property must also be defined within the Realtime Log Delivery page for the environment corresponding to this profile. Learn more.

description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD Access Logs) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/accesslogs/profiles/10027",
  • "@type": "AccessLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Delete RTLD Access Logs Profile

Permanently deletes a RTLD Access Logs profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/rtld/v1/accesslogs/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "unauthorized",
  • "status_code": 401,
  • "title": "Auth not valid",
  • "description": "Could not validate access",
  • "details": [
    ]
}

RTLD Bot Profile

Automate Real-Time Log Delivery (RTLD) Bot profile management. A RTLD Bot profile defines the condition(s) under which Bot Manager log data will be delivered to the desired destination (e.g., your web server or AWS S3).

Learn more about Real-Time Log Delivery.

Add RTLD Bot Profile

Creates a RTLD Bot profile.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD Bot) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/bot/profiles/10027",
  • "@type": "BotLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Get All RTLD Bot Profiles

Returns all RTLD Bot profiles associated with an environment.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/bot/profiles',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/bot/profiles",
  • "@type": "Collection",
  • "items": [
    ]
}

Get RTLD Bot Profile

Retrieves a RTLD Bot profile by its system-defined ID.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/bot/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/bot/profiles/10027",
  • "@type": "BotLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Update RTLD Bot Profile

Updates a RTLD Bot profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD Bot) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/bot/profiles/10027",
  • "@type": "BotLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Delete RTLD Bot Profile

Permanently deletes a RTLD Bot profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/rtld/v1/bot/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "unauthorized",
  • "status_code": 401,
  • "title": "Auth not valid",
  • "description": "Could not validate access",
  • "details": [
    ]
}

RTLD Rate Limiting Profile

Automate Real-Time Log Delivery (RTLD) Rate Limiting profile management. A RTLD Rate Limiting profile defines the condition(s) under which log data for requests that exceed your rate limits will be delivered to the desired destination (e.g., your web server or AWS S3).

Learn more about Real-Time Log Delivery.

Add RTLD RL Profile

Creates a RTLD Rate Limiting (RL) profile.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD RL) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/rl/profiles/10027",
  • "@type": "RateLimitingLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Get All RTLD RL Profiles

Returns all RTLD Rate Limiting (RL) profiles associated with an environment.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/rl/profiles',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/rl/profiles",
  • "@type": "Collection",
  • "items": [
    ]
}

Get RTLD RL Profile

Retrieves a RTLD Rate Limiting (RL) profile by its system-defined ID.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/rl/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/rl/profiles/10027",
  • "@type": "RateLimitingLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Update RTLD RL Profile

Updates a RTLD Rate Limiting (RL) profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD RL) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/rl/profiles/10027",
  • "@type": "RateLimitingLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Delete RTLD RL Profile

Permanently deletes a RTLD Rate Limiting (RL) profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/rtld/v1/rl/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "unauthorized",
  • "status_code": 401,
  • "title": "Auth not valid",
  • "description": "Could not validate access",
  • "details": [
    ]
}

RTLD WAF Profile

Automate Real-Time Log Delivery (RTLD) Web Application Firewall (WAF) profile management. A RTLD WAF profile defines the condition(s) under which WAF log data will be delivered to the desired destination (e.g., your web server or AWS S3).

Learn more about Real-Time Log Delivery.

Add RTLD WAF Profile

Creates a RTLD Web Application Firewall (WAF) profile.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD WAF) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/waf/profiles/10027",
  • "@type": "WebApplicationFirewallLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Get All RTLD WAF Profiles

Returns all RTLD Web Application Firewall (WAF) profiles associated with an environment.

Authorizations:
rtldScope
query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/waf/profiles',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/waf/profiles",
  • "@type": "Collection",
  • "items": [
    ]
}

Get RTLD WAF Profile

Retrieves a RTLD Web Application Firewall (WAF) profile by its system-defined ID.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/waf/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/waf/profiles/10027",
  • "@type": "WebApplicationFirewallLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Update RTLD WAF Profile

Updates a RTLD Web Application Firewall (WAF) profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Request Body schema: application/json
required
environment_id
required
string <uuid> (Environment ID)

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

required
any
description
string [ 1 .. 1024 ] characters

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_percent
number
Enum: 0.1 1 25 50 75

Determines the percentage to which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

enabled
boolean
Default: true

Determines whether RTLD will use this profile to deliver log data.

fields
required
Array of strings non-empty unique

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD WAF) endpoint to retrieve the set of valid values for this property.

profile_name
required
string <= 36 characters

Determines the log delivery profile's name. Limit this unique name to 36 characters.

object (Log Filtering Object)

Contains your log filtering configuration.

Responses

Request samples

Content type
application/json
{
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "fields": [
    ],
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/waf/profiles/10027",
  • "@type": "WebApplicationFirewallLogsProfile",
  • "id": 10027,
  • "environment_id": "c9980249-2fb6-4699-a68e-271383815700",
  • "enabled": false,
  • "downsampling_percent": 25,
  • "fields": [
    ],
  • "filters": {
    },
  • "delivery_method": {
    },
  • "profile_name": "myprofile"
}

Delete RTLD WAF Profile

Permanently deletes a RTLD Web Application Firewall (WAF) profile.

Authorizations:
rtldScope
path Parameters
id
required
integer

The RTLD profile's system-defined ID.

query Parameters
environment_id
required
string <uuid>

An environment's system-defined ID (e.g., 12345678-1234-1234-1234-1234567890ab).

From the Edgio Console, navigate to the desired environment and then click Settings. It is listed under Environment ID.

Responses

Request samples

const request = require('request');

const options = {
  method: 'DELETE',
  url: 'https://edgioapis.com/rtld/v1/waf/profiles/{id}',
  qs: {environment_id: 'SOME_STRING_VALUE'},
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@type": "Error",
  • "code": "unauthorized",
  • "status_code": 401,
  • "title": "Auth not valid",
  • "description": "Could not validate access",
  • "details": [
    ]
}

Log Fields

Retrieve log fields associated with a Real-Time Log Delivery (RTLD) module.

Get Log Fields (RTLD Access Logs)

Retrieves the available set of log fields for RTLD Access Logs.

Authorizations:
rtldScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/accesslogs/fields',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/accesslogs/fields",
  • "@type": "Collection",
  • "items": [
    ]
}

Get Log Fields (RTLD Bot)

Retrieves the available set of log fields for RTLD Bot.

Authorizations:
rtldScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/bot/fields',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/bot/fields",
  • "@type": "Collection",
  • "items": [
    ]
}

Get Log Fields (RTLD RL)

Retrieves the available set of log fields for RTLD RL.

Authorizations:
rtldScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/rl/fields',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/rl/fields",
  • "@type": "Collection",
  • "items": [
    ]
}

Get Log Fields (RTLD WAF)

Retrieves the available set of log fields for RTLD WAF.

Authorizations:
rtldScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/waf/fields',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/waf/fields",
  • "@type": "Collection",
  • "items": [
    ]
}

AWS Regions

Retrieve the available set of AWS regions.

Get AWS Regions

Retrieves a list of AWS regions to which log data may be delivered.

Authorizations:
rtldScope

Responses

Request samples

const request = require('request');

const options = {
  method: 'GET',
  url: 'https://edgioapis.com/rtld/v1/aws-regions',
  headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Response samples

Content type
application/json
{
  • "@id": "/rtld/v1/aws-regions",
  • "@type": "Collection",
  • "items": [
    ]
}