NOTE: If you do not have a DynID, or login to Internet Intelligence with Renesys credentials, you will have to access the API via a different URL.

Build and Manage Your Portfolio

VERB RESOURCE REQUEST FIELDS DESCRIPTION
GET /portfolio None Retrieve a list of all inventories and assets.
DELETE /portfolio None Delete all inventories and assets in a portfolio.
GET /portfolio/inventories None Retrieve all inventories in a portfolio.
POST /portfolio/inventories
    • id
Creates an inventory.
DELETE /portfolio/inventories/{inventory} None Delete a specified inventory.
PUT /portfolio/inventories/{inventory}
  • comment
  • monitoring
Enable or disable monitoring for an inventory.
GET /portfolio/inventories/id/assets None Retrieve details about one asset.
GET /portfolio/assets None Retrieves a list of assets.
POST /portfolio/assets (one prefix) (see below) Add one or multiple assets to one or more inventories.
DELETE /portfolio/assets None Delete an asset from an inventory.

Configure Routing Monitoring

API Requests

VERB RESOURCE PARAMETERS (TYPE) DESCRIPTION
GET portfolio/routing/plot/{prefix}
  • format
  • time
Retrieves a routing plot for the given prefix.
GET /portfolio/settings None Retrieve the email alert settings.
PUT /portfolio/settings (email alerts on) None Turn on email alerts.
PUT /portfolio/settings (change email address) None Change the email address that receives the alerts.
DELETE /portfolio/settings None Delete the previously set email account that receives the alert emails.
GET /portfolio/assets/{asset}/options None Retrieves the options for the indicated asset.
PUT /portfolio/assets/{asset}/options (suppress all) (see below) Updates options identified for the given asset.
PUT /portfolio/inventories/{inventory} (suppress inventory) (see below) Suppress assets at the inventory level.
PUT /portfolio/assets/{asset}/options (suppress ASN) (see below) Suppresses alerts for the specified ASN.
PUT /portfolio/assets/{asset}/options None Manually authorize upstream and origin ASNs (transit providers or peers).

Manage Your Alerts

VERB RESOURCE PARAMETERS (TYPE) DESCRIPTION
GET /portfolio/monitoring/alerts (all alerts)
  • fields
  • limit
  • alarmId
  • type
  • category
  • firstEvidenceAt
  • raisedAt
  • loweredAt
  • acknowledgedAt
  • acknowledgeType
  • asset
  • prefix
  • origin
  • ip
  • cloudzone
  • cdn
Retrieve a list of alerts using specified parameters.
GET /portfolio/monitoring/alerts (since given time)
  • raisedAt
Retrieve a list of all alerts since a given time.
GET /portfolio/monitoring/alerts (unacknowledged alerts)
  • acknowledgedAt
Retrieve a list of all unacknowledged alerts.
GET /portfolio/monitoring/alerts (all alerts, one asset)
  • asset
Retrieve all alerts for one asset.
GET /portfolio/monitoring/types None Retrieves a list of alert types.
GET /portfolio/monitoring/alerts/{alert id} None Retrieves the details for the alert identified.
POST /portfolio/monitoring/bulkAcknowledge (all) None Acknowledge all alerts.
POST /portfolio/monitoring/bulkAcknowledge (one asset) None Acknowledge alerts for one asset.
POST /portfolio/monitoring/bulkAcknowledge (one type) None Acknowledge all alerts of one type.
POST /portfolio/monitoring/bulkAcknowledge (one type, one asset) None Acknowledge one type of alert for one asset.
PUT /portfolio/inventories/{id} (suppress alert)
  • comment
  • monitoring
Enable or disable alerts for an inventory.

Build and Manage Your Portfolio

GET /portfolio/

You can get a list of all assets and inventories included in your entire portfolio. These assets may be the IP prefixes and ASNs for Internet Routing Alerts and/or the IP Addresses for Internet Performance Alerts. The command to retrieve all the assets of the Portfolio is the same for both Internet Routing Alerts and Internet Performance Alerts APIs.

URI: https://dii.dynapis.com/portfolio
Legacy URI: https://api.renesys.com/portfolio

Request Body Fields (JSON):

  • None

Example Response (JSON):

[
  {
    "comment": null,
    "suppressed": {
      "all": false,
      "categories": []
    },
    "monitoring": false,
    "assets": [
      {
        "comment": "Amsterdam Beacon",
        "assetType": "prefix",
        "info": {
          "geolocation": {
            "city": "Amsterdam",
            "country_code": "NL",
            "admindiv": "Provincie Noord-Holland",
            "adminsubdiv": null
          },
          "label": "Reseaux IP Europeens Network Coordination Centre (RIPE NCC)"
        },
        "name": "Beacon Prefix",
        "inventories": [
          "dan3"
        ],
        "payload": null,
        "id": "84.205.64.0/24"
      }
    ],
    "id": "dan3"
  }
]

DELETE /portfolio/

You can delete all inventories, monitoring configurations, and the portfolio itself. The command is the same for Internet Routing Alerts and Internet Performance Alerts APIs.

NOTE: If you have both Internet Routing Alerts and Internet Performance Alerts, there is only one portfolio for your account. All items for both products will be removed with this command.

URI: https://dii.dynapis.com/portfolio
Legacy URI: https://api.renesys.com/portfolio

Request Body Fields (JSON):

  • None

Example Response:

HTTP/1.1 204 No Content     

GET /portfolio/inventories

You can get a list of all inventories in your entire portfolio. These inventories may be used by Internet Routing Alerts, Internet Performance Alerts, or both. The command to retrieve all the inventories of the Portfolio is the same for both Internet Routing Alerts and Internet Performance Alerts APIs.

URI: https://dii.dynapis.com/portfolio/inventories
Legacy URI: https://api.renesys.com/portfolio/inventories

Request Body Fields (JSON):

  • None

Example Response (JSON):

[
  {
    "comment": null,
    "monitoring": false,
    "domain_count": 0,
    "asn_count": 0,
    "prefix_count": 1,
    "ip_count": 0,
    "cdn_count": 0,
    "suppressed": {
      "all": false,
      "categories": []
    },
    "id": "example inventory",
    "cloudzone_count": 0
  }
]

POST /portfolio/inventories

Creates an inventory. Monitoring is enabled and disabled per inventory. IP addresses, ASNs, and prefixes need to be added into an inventory in order to be monitored. An object can belong to one or more inventories simultaneously. Creating an inventory is the first step.

URI: https://dii.dynapis.com/portfolio/inventories
Legacy URI: https://api.renesys.com/portfolio/inventories

Example Request Body (JSON):
Request to create one inventory named Example Inventory:

[
	{
		"id": "example inventory"

	}
]

Request Body Fields:

  • id – The name of the inventory to be created in the format "id":"inventoryname".

Example Response:

HTTP/1.1 201 Created

DELETE /portfolio/inventories/{inventory}

When you no longer want an inventory and its assets in your portfolio, you need to delete the inventory and the assets it contains. The command is the same for Internet Routing Alerts and Internet Performance Alerts APIs.

NOTE: If you have both Internet Routing Alerts and Internet Performance Alerts, inventories are shared between the two products. If you delete an inventory, neither the inventory nor its contained assets will be available for either product.

URI: https://dii.dynapis.com/portfolio/{inventory}
Sample URI removing one inventory named your inventory from the portfolio:
https://dii.dynapis.com/portfolio/your%20inventory

Legacy URI: https://api.renesys.com/portfolio/{inventory}

Request Body Fields:

  • None.

Example Response:

HTTP/1.1 204 No Content           

PUT /portfolio/inventories/{inventory} (enable monitoring)

Enable monitoring and add a comment to an inventory. Updating the contents of an inventory is the same request for Internet Routing Alerts and Internet Performance Alerts APIs.

NOTE: If you have both Internet Routing Alerts and Internet Performance Alerts, inventories are shared between the two products. If you update an inventory, the new inventory contents will be available for both products.

URI: https://dii.dynapis.com/portfolio/inventories/{inventory}
A sample URI for an inventory named “example inventory”: https://dii.dynapis.com/portfolio/example%20inventory

Legacy URI: https://api.renesys.com/portfolio/inventories/{inventory}

Example Request (JSON):
Must be a JSON object.

{"monitoring": true, "comment": "This is your comment"}

Request Body Fields (JSON):

  • monitoring – Enable alerts for this asset. Values can be either true or false.
  • comment – User supplied description of the asset.

Example Response:

HTTP/1.1 204 No Content

GET /portfolio/inventories/{inventory}/assets

You can get a list of all inventory assets. The command is the same for Internet Routing Alerts and Internet Performance Alerts APIs.

URI: https://dii.dynapis.com/portfolio/inventories/{inventory}/assets
Example URI retrieving the assets in an inventory named “example inventory”:
https://dii.dynapis.com/portfolio/inventories/example%20inventory/assets

Legacy URI: https://api.renesys.com/portfolio/inventories/{inventory}/assets

Request Body Fields (JSON):

  • None.

Example Response (JSON):
The asset list is included in the response in JSON format and contained in the HTTP body of the response. This example shows a specific IP prefix. ASN and IP address assets are included in the response in a similar way.

 [
     {
         "comment": "London Beacon",
         "assetType": "prefix",
         "name": "Beacon Prefix",
         "info":
         {
              "geolocation":
              {
                   "adminsubdiv": "null",
                   "country_code": "GB",
                   "admindiv": "England",
                   "city": "City of London"
              },
              "label": "Reseaux IP Europeens Network Coordination Centre (RIPE NCC)"
         },
         "inventories": ["example inventory"],
         "id": "84.205.65.0/24"
    },
    {
         Similar information for another asset in the inventory
    },
    {
         Similar information for another asset in the inventory
    }
]

GET /portfolio/assets

You can get a list of all assets included in your entire portfolio. These assets may be the IP Prefixes and ASNs for Internet Routing Alerts and/or the IP Addresses for Internet Performance Alerts. The command to retrieve all the assets of the portfolio is the same for both Internet Routing Alerts and Internet Performance Alerts APIs.

URI: https://dii.dynapis.com/portfolio/assets
Legacy URI: https://api.renesys.com/portfolio/assets

Request Body Fields (JSON):

  • None.

Example Response (JSON):
The asset list is included in the response in JSON format and contained in the HTTP body of the response.

[     
      {         
          "comment": "London Beacon",         
          "assetType": "prefix",         
          "name": "Beacon Prefix",         
          "info":         
          {             
               "geolocation":             
               {                 
                    "adminsubdiv": "null",                 
                    "country_code": "GB",                 
                    "admindiv": "England",                 
                    "city": "City of London"             
               },             
               "label": "Reseaux IP Europeens Network Coordination Centre (RIPE NCC)"         
          },         
          "inventories": ["example inventory"],         
          "id": "84.205.65.0/24"     
     },     
     {     
          Similar information for another asset in the portfolio     
     },     
     {     
          Similar information for another asset in the portfolio     
     } 
] 

POST /portfolio/assets (add one or multiple assets to an inventory)

Adds one or more assets into an inventory. For an asset to be monitored, it must be added to an inventory. If the inventory does not already exist, it will be created when you add the asset to it. If the inventory already contains the IP address you are adding, your request will be successful even though no action was taken.

URI: https://dii.dynapis.com/portfolio/assets
Legacy URI: https://api.renesys.com/portfolio/assets

Sample Request Body (JSON):

Where add_asset.json contains a JSON array of objects. Both IPv4 and IPv6 samples are shown here. The “name” field is optional.

IPv4 Address Example:

[
     {
          "id": "84.205.64.0/24",
          "name": "Beacon Prefix",
          "comment": "Amsterdam Beacon",
          "inventories": ["example inventory"]
     }
]

Sample request body for to add multiple assets to multiple inventories:

[
     {
          "id": "84.205.71.100",,
          "name": "Sample IP Address 1",
          "inventories": ["example inventory", "second inventory"]
     },

     {
          "id": "2010:500:45:1::1",
          "name": "Sample IPv6 Address",
          "inventories": ["second inventory"]
     },

     {
          "id": "12654",
          "name": "Sample ASN",
          "inventories": ["example inventory"]
     }
]

Request Body Fields (JSON)

  • id – The ASN, IP prefix, or IP address to be monitored.
  • name – A user defined name for the asset.
  • comment – A user comment.
  • inventories – The inventories the asset will be added.

Example Response:

HTTP/1.1 201 Created           

DELETE /portfolio/inventories/{inventory}/assets/{asset}

When you no longer want to monitor an asset, it needs to be removed from the inventory. If the asset belongs to more than one inventory, you can remove it from one inventory, or from all inventories where the asset is found. The command is the same for Internet Routing Alerts and Internet Performance Alerts APIs.

NOTE: If you have both Internet Routing Alerts and Internet Performance Alerts, assets are shared between the two products. Deleting an asset from all inventories will make the asset unavailable for both products.

URI to remove one {asset} from one {Inventory}: https://dii.dynapis.com/portfolio/inventories/{Inventory}/assets/{asset}
Legacy URI: https://api.renesys.com/portfolio/inventories/{Inventory}/assets/{asset}

URI to remove one asset {asset} from ALL inventories: https://dii.dynapis.com/portfolio/assets/{asset}
Legacy URI: https://api.renesys.com/portfolio/assets/{asset}

URI remove ALL assets from one {Inventory}: https://dii.dynapis.com/portfolio/inventories/{Inventory}/assets
Legacy URI: https://api.renesys.com/portfolio/inventories/{Inventory}/assets

Request Body Fields (JSON):
None.

Example Response:

HTTP/1.1 204 No Content         
 

Configure Routing Monitoring

GET /portfolio/routing/alert/plot/{alarm_id}

Retrieves a routing plot for the given alarm ID. This API call allows you to generate images showing either Origination or Upstream Provider connections for any IP prefix you are monitoring in your Portfolio. These plots complement our Routing Alerts notifications and can be used to look back over recent routing history for the last hour, last day, last 3 days or last 6 days.

To generate a plot, the prefix must be monitored in your portfolio, otherwise, you will receive an error response (400 Bad Request).

URI: https://dii.dynapis.com/portfolio/routing/plot/{alarm_id}
Legacy URI: https://api.renesys.com/portfolio/routing/plot/{alarm_id}

Sample URI retrieving the routing plot for a prefix:
https://dii.dynapis.com/portfolio/routing/plot/24631168

Request Body Field (JSON):

  • None

Example Response:
The origin and upstream plot of an IP address. Default format is png, but you can choose the format by using the format parameter in the request.

Screen Shot 2016-12-02 at 4.14.45 PM


GET /portfolio/routing/plot/{prefix}

Retrieves a routing plot for the given prefix. This API call allows you to generate images showing either Origination or Upstream Provider connections for any IP prefix you are monitoring in your Portfolio. These plots complement our Routing Alerts notifications and can be used to look back over recent routing history for the last hour, last day, last 3 days or last 6 days.

To generate a plot, the prefix must be monitored in your portfolio, otherwise, you will receive an error response (400 Bad Request).

URI: https://dii.dynapis.com/portfolio/routing/plot/{prefix}
Legacy URI: https://api.renesys.com/portfolio/routing/plot/{prefix}

Optional Parameters:

  • format – Set the format for the response body data to png (default), pdf, or svg.
  • time – The time range of the plot.
    Valid values:
    6d = 6 days
    3d = 3 days
    1d = 1 day
    1h = 1 hour
  • upstream – Optional. The number of upstream ASNs in the route path to plot. The default setting (0) displays only the Origin. Enter the number of ASNs to include, maximum 2.
    Valid values:
    0 = plot the origin only
    1 = plot the origin and 1 upstream ASN
    2 = plot the origin and 2 upstream ASNs

Sample URI retrieving the routing plot for a prefix:
https://dii.dynapis.com/portfolio/routing/plot/84.205.64.0/24?format=pdf&time=1h&upstream=2

Request Body Field (JSON):

  • None

Example Response:
The origin and upstream plot of the prefix. Default format is png, but you can choose the format by using the format parameter in the request.

Screen Shot 2016-12-02 at 4.14.45 PM


GET /portfolio/settings

Retrieve the email alert settings. Use this command to determine whether your email alert settings are on or off and where the email notification alerts are sent.

URI: https://dii.dynapis.com/portfolio/settings
Legacy URI: https://api.renesys.com/portfolio/settings

Request Body Fields (JSON):

  • None

Example Response (JSON):

{
  "alert_email": false,
  "alert_email_override": null,
  "daily_report": false
}

Response Fields (JSON):
alert_email – Indicates whether or not email alerts are set for this account. Valid values: true, false.
alert_email_override – Lists an alternate email address where the alerts are sent. By default, email alerts are sent to the user’s email address on file.
daily_report – Indicates if the email alerts are sent as a daily report. Valid values: true, false.
notificationEmail – Legacy field that lists an alternate email address where the alerts are sent. This field is deprecated. Use alert_email_override field instead.


PUT /portfolio/settings (turn email alerts on or off)

Toggle alert notification emails on or off using this request.

URI: https://dii.dynapis.com/portfolio/settings
Legacy URI: https://api.renesys.com/portfolio/settings

Example Request Body (JSON):

{"alert_email": true}

Request Body Fields (JSON):

  • alert_email – Toggles email alerts on or off. Accepted values: true or false

Example Response:

HTTP/1.1 204 No Content

PUT /portfolio/settings (change email settings)

Change the email address used to receive alerts. When a Routing alert occurs, you can have the email notification sent to your email account, or any email account you designate. For example, you could send the email alerts to an internal Network Operations Center for analysis.

URI: https://dii.dynapis.com/portfolio/settings
Legacy URI: https://api.renesys.com/portfolio/settings

Example Request Body (JSON):
{"alert_email_override": "noc@company.com"}

Request Body Fields:

  • alert_email_override – Add or update the email address that will receive Routing Alerts.

Example Response (JSON)

HTTP/1.1 204 No Content

DELETE /portfolio/settings

Delete the previously set email account that receives the alert emails. This resets the email settings to their default, which is the user’s email address.

URI: https://dii.dynapis.com/portfolio/settings
Legacy URI: https://api.renesys.com/portfolio/settings

Request Body Fields (JSON):

  • None

Example Response:

HTTP/1.1 204 No Content

GET /portfolio/assets/{asset}/options

Retrieves the options for the indicated asset. One asset can belong to more than one inventory. Query the database for the monitoring options of the asset.

URI: https://dii.dynapis.com/portfolio/assets/{asset}/options
Where {asset} is the ASN, Prefix, IP address, domain, CDN, or CloudZone.

Legacy URI: https://api.renesys.com/portfolio/assets/{asset}/options

Example for getting the options for the CDN Fastly asset:
https://dii.dynapis.com/portfolio/assets/Fastly/options

Request Body Fields (JSON):

  • None

Example Response (JSON):
The monitoring options are included in the response in JSON format and contained in the HTTP body of the response.
This example shows the monitoring options for the prefix 171.192.0.0/13:

{
"lastChanged": 1469102953, 
"userId": 5874, 
"asset": "171.192.0.0/13", 
"optionsId": 154527, 
"configuration": 
        {
        "auto": true, 
        "allowedASNs": {}, 
        "abbynormal": 
                {
                "research-routes": [], 
                "autoAllowedASNs": {}, 
                "routed_prefix": null, 
                "timestamp": 1469102942
                }
        }, 
"suppressed": 
        {
        "all": false, 
        "categories": []
        }
}

PUT /assets/{asset}/options (suppress all alerts)

You can suppress all alert categories for an asset. Any future alerts for that asset will be acknowledged automatically. These suppressed, automatically acknowledged alerts will appear in the results of Get a List of all Alerts and Get Alert List for one Asset.

URI: https://dii.dynapis.com/portfolio/assets/{asset}/options
Where {asset} represents the specific asset. Valid asset types are: ASN, Prefix, IP Address, Domain, CDN, or CloudZone.

Legacy URI: https://api.renesys.com/portfolio/assets/{asset}/options

Example for suppressing alerts for a specific prefix:
https://dii.dynapis.com/portfolio/assets/84.205.64.0/24/options

Example Request Body (JSON):
suppress_all.json:

{     
     "suppressed":     
     {         
          "all": true,         
          "categories": [ ]     
     } 
}  

Request Body Fields (JSON):
all – Toggles alert suppression for an inventory. Valid values: True or False.
categories – Which alert categories to suppress. Leave field blank to suppress all categories of alerts for an inventory.
See Alert Categories and Types for a listing of available alert categories.

Example Response:

HTTP/1.1 204 No Content

PUT /inventories/id (suppress alerts for an inventory)

You can choose to suppress alerts at the inventory level. When you have an asset in more than one inventory, the suppression rules change a bit for that asset. See Alert Suppression by Inventory Explained for more information on how inventory suppression impacts alerts in more than one inventory.

URI: https://dii.dynapis.com/portfolio/inventories/{inventory}
Legacy URI: https://api.renesys.com/portfolio/inventories/{inventory}

Example for suppressing upstream alerts for an inventory named “example inventory”:
https://dii.dynapis.com/portfolio/inventories/example%20inventory

Example Request (JSON):
suppress_inventory.json:

{     
     "suppressed":     
     {         
          "all": false,         
          "categories": ["upstream"]     
     } 
} 

Request Body Fields (JSON):
all – Toggles alert suppression for an inventory. Valid values: True or False.
categories – Which alert categories to suppress. Leave field blank to suppress all categories of alerts for an inventory.
See Alert Categories and Types for a listing of available alert categories.

Example Response:

HTTP/1.1 204 No Content     

PUT /portfolio/assets/{asset}/options (suppress alerts for an asset)

Suppresses alerts for the identified asset. Any future alerts for that asset will be acknowledged automatically. These suppressed, automatically acknowledged, alerts will appear in the results of Get a List of all Alerts and Get Alert List for one Asset.

URI: https://dii.dynapis.com/portfolio/assets/{asset}/options
Legacy URI: https://api.renesys.com/portfolio/assets/{asset}/options

Example for suppressing leak alerts for an ASN:
https://dii.dynapis.com/portfolio/assets/12654/options

Example Request Body (JSON):
Suppressing alerts for an ASN can be done using one of two formats. Both are valid.

Format 1: suppress the category “leak” as this is the only category that applies to ASNs.
suppress_leaks.json:

{     
     "suppressed":     
     {         
          "all": false,         
          "categories": ["leak"]     
     } 
} 

Format 2: suppress all alerts for the ASN as “leak” is the only category that applies to ASNs.
suppress_leaks.json:

{     
     "suppressed":     
     {         
          "all": true,         
          "categories": [ ]     
     } 
} 

Request Body Fields (JSON):
all – Toggles alert suppression for an inventory. Valid values: True or False.
categories – Which alert categories to suppress. Leave field blank to suppress all categories of alerts for an inventory.
See Alert Categories and Types for a listing of available alert categories.

Example Response

HTTP/1.1 204 No Content   

PUT /portfolio/assets/{asset}/options (manually authorize upstream and origin ASNs)

By default, when hijack or upstream monitoring is enabled for a prefix, the system automatically determines the expected origin and provider ASNs based on recent BGP history, and stores it in configuration.allowedASNs (see example request body). If you prefer to override the automatically-determined origin and provider ASNs and manually specify which ASNs are allowed to announce or originate your prefix, you can use this call. In other words, you can use this endpoint to prevent false alerting on expected behavior from trusted transit providers or expected changes in prefix origination.

The configuration.allowedASNs field is expected to be a dictionary. To use this call, override allowedASNs with a dictionary where each key is an allowed origin ASN, and each value is a list of allowed upstreams.

To revert to the default (automatically-determined origin and provider ASN) set configuration.auto back to true.

URI: https://dii.dynapis.com/portfolio/assets/{asset}/options
Legacy URI: https://api.renesys.com/portfolio/assets/{asset}/options

Example for authorizing a specific ASN:
https://dii.dynapis.com/portfolio/assets/68.233.64.0/21/options

Example Request Body (JSON):

{  
  "configuration":{  
     "auto":false,
     "allowedASNs": { "7160" : [3257, 174, 3356, 3549] }
  }
}

Example Response

HTTP/1.1 204 No Content   

Manage Your Alerts

GET /portfolio/monitoring/alerts

You can get a list of all Internet Routing Alerts and Internet Performance Alerts. Each Internet Alert has its own output content. See Alerts Output for information on the output for the various Internet Alert types. See Alert Categories and Types for a listing of available alert categories.

NOTE: Alerts will be deleted 180 days after they were raised.

URI: https://dii.dynapis.com/portfolio/monitoring/alerts
Legacy URI: https://api.renesys.com/portfolio/monitoring/alerts

Request Parameters:

  • fields – List of fields to include in the search of your alerts. You can specify multiple fields either in a comma-separated list, or with multiple occurrences of parameter: fields=a,b,c is equivalent to fields=a&fields=b&fields=c or fields=a,b&fields=c
    • alarmId – The specific ID number given to an alert.
    • type – Type of asset being monitored.
    • asset.assetName – Name of asset.
    • asset.assetType – The type of asset.
    • asset.inventories – Inventories the asset resides in.
  • limit – Retrieve no more than a specified number of alerts, up to 1000 alerts.
  • alarmId – Request a specific alert via its alarmId.
  • type – Request the alerts by a specific type. Learn more about alert category and types.
  • category – Request the alerts by a specific category. Learn more about alert category and types.
  • firstEvidenceAt – Request alerts whose first evidence was seen at the specified time (POSIX timestamp).
  • raisedAt – Request alerts that were raised at a specified time (POSIX timestamp).
  • loweredAt – Get alerts lowered at a specific time (POSIX timestamp).
  • acknowledgedAt – Get alerts that were acknowledged at a specific time (POSIX timestamp).
  • acknowledgeType – Get alerts that were acknowledged by a specified means. Valid acknowledgement types: user, suppress.
  • asset – Get alerts for a specified asset within your Portfolio.
  • prefix – Get alerts for a specified IP prefix.
  • origin – Get alerts for a specified ASN.
  • ip – Get alerts for a specified IP address.
  • cloudzone – Get alerts for a specified cloudzone.
  • cdn – Get alerts for a specified CDN.

Sample URI that searches for alerts of a specific type from a specific user ID and asset: https://dii.dynapis.com/portfolio/monitoring/alerts?type=latency-fixed&ip=54.43.32.21

Request Body:

  • None

NOTE: If you do not include the limit request parameter, this response will be truncated to the first 1000 matching alerts. Truncated responses are accompanied by a “303 See Other” status code. The response includes a Link header (defined by RFC 5988) that lets you retrieve the next batch of 1000 matching alerts. If you want to retrieve all matching alerts, you will need to page through them by following successive the Link headers.

Example Request Using “next” Link:
Example of a truncated response:

GET /portfolio/monitoring/alerts?fields=alarmId HTTP/1.1

HTTP/1.1 303 See Other
Content-Type: application/json
Link: <!--?fields=alarmId&alarmId.lt=23676227 >; rel="next"
Location: ?fields=alarmId&alarmId.lte=28639336&limit=1000

[...JSON array of the first 1000 matching alarms...]
</pre>
<p>To retrieve the next page of results, look for the <code>Link</code> header with <code>rel="next"</code>. Extract the relative URI reference from inside the angle brackets ("<>"). Resolve it according to <a href="https://tools.ietf.org/html/rfc3986#section-5">RFC 3986 section 5</a>, using the retrieval URI ("/monitoring/alerts?fields=alarmId") as the base URI. The request to retrieve the next page will then look like:</p>
<pre class="prettyprint">
GET /portfolio/monitoring/alerts?fields=alarmId&alarmId.lt=23676227

HTTP/1.1 303 See Other
Content-Type: application/json
Link: <?fields=alarmId&alarmId.lt=19937864>; rel="next"
Location: ?fields=alarmId&alarmId.lte=23676223&limit=1000

[...JSON array of the next 1000 matching alerts...]
</pre>
<p>When you reach the last page of results, you will receive a "200 OK" response with no <code>Link</code> header:</p>
<pre class="prettyprint">
GET /portfolio/monitoring/alerts?fields=alarmId&alarmId.lt=1056246 HTTP/1.1

HTTP/1.1 200 OK
Content-Type: application/json

[...JSON array of < 1000 remaining alerts...]
</pre>
<p><br></br><br ?-->
<strong>Example Response (JSON): </strong>
See <a href="https://help.dyn.com/alerts-output-by-type/">Alerts Output</a> for information on the output for each type of alert.

Example of an outage alert response:

[
  {
    "acknowledgeType":"archived",
    "loweredAt":1411023217,
    "peerCount":210,
    "firstEvidenceAt":1410756954,
    "prefix":"23.53.192.0/20",
    "updatedAt":1435764223,
    "acknowledgedAt":1435764223,
    "category":"outage",
    "raisedAt":1410776838,
    "alarmId":85688,
    "asset":"23.53.192.0/20",
    "type":"outage",
    "userName":"example@sample.com",
    "typeName":"outage"
  }
]

GET /portfolio/monitoring/alerts (alerts since given time)

Use this command to retrieve all alerts from the Unix timestamp entered. This is the same information received from the Get All Alerts command except, in this command, you request the most recent alerts.

URI:
https://dii.dynapis.com/portfolio/monitoring/alerts/alerts?raisedAt.gt={unix timestamp}
Legacy URI: https://api.renesys.com/portfolio/monitoring/alerts/alerts?raisedAt.gt={unix timestamp}

Where {unix timestamp} is replaced with the Unix timestamp for the time and date of the earliest alert you want to receive.

Request Body Fields (JSON):

  • None

Example Response (JSON):
Here is an example response for raisedAt.gt=1463672279

{
"origin": 10794, 
"acknowledgeType": null, 
"loweredAt": null, 
"peerCount": 373, 
"firstEvidenceAt": 1468933449, 
"prefix": "171.128.0.0/10", 
"updatedAt": 1468933864, 
"acknowledgedAt": null, 
"category": "unexpected-activity", 
"raisedAt": 1468933449, 
"validOrigins": [], 
"alarmId": 13796613, 
"asset": "171.128.0.0/10", 
"type": "unexpected-subprefix-activity", 
"subprefix": "171.161.53.0/24", 
"userName": "example@sample.com", 
"typeName": "unexpected-subprefix-activity",
"previousOrigin": null
 }  

GET /portfolio/monitoring/alerts (unacknowledged)

You can get a list of all unacknowledged alerts, both from Internet Routing Alerts and Internet Performance Alerts. Each alert’s output format is basically the same, but the output fields vary by the alert type. See Alerts Output for information on the output fields for the various alert types.

URI:
Retrieve all unacknowledged Monitoring alerts:
https://dii.dynapis.com/portfolio/monitoring/alerts?acknowledgedAt.is_null=
Legacy URI: https://api.renesys.com/portfolio/monitoring/alerts?acknowledgedAt.is_null=

Retrieve all unacknowledged Performance alerts:
https://dii.dynapis.com/portfolio/monitoring/alerts?acknowledgedAt.is_null=&category=performance

Legacy URI: https://api.renesys.com/

NOTE: See Alert Categories and Types for the valid values to retrieve unacknowledged alerts of any specific category.

Request Body Fields (JSON):

  • None

Example Response (JSON)
See Alerts Output for information on the output for each type of alert.

Here is an example of an unacknowledged alert of unexpected subprefix activity:

{
"origin": 10794, 
"acknowledgeType": null, 
"loweredAt": null, 
"peerCount": 373, 
"firstEvidenceAt": 1468933449, 
"prefix": "171.128.0.0/10", 
"updatedAt": 1468933864, 
"acknowledgedAt": null, 
"category": "unexpected-activity", 
"raisedAt": 1468933449, 
"validOrigins": [], 
"alarmId": 13796613, 
"asset": "171.128.0.0/10", 
"type": "unexpected-subprefix-activity", 
"subprefix": "171.161.53.0/24", 
"userName": "example@email.com", 
"typeName": "unexpected-subprefix-activity", 
"previousOrigin": null
}, 

GET /portfolio/monitoring/alerts (for a specific asset)

You can get a list of all monitoring alerts for a single asset. Each alert has its own output content. See Alerts Output for information on the output for each type of alert.

URI: https://dii.dynapis.com/portfolio/monitoring/alerts?asset={asset}
Legacy URI: https://api.renesys.com/portfolio/monitoring/alerts?asset={asset}

Example request to retrieve alerts for a specific IP prefix:
https://dii.dynapis.com/portfolio/monitoring/alerts?asset=84.205.69.0/24

Example request to retrieve alerts for a specific ASN:
https://dii.dynapis.com/portfolio/monitoring/alerts?asset=12654

Request Body Fields (JSON):

  • None

Example Response (JSON):
Here is an example of retrieving alerts for the prefix asset: 171.181.112.0/24

{
"origin": 19886, 
"acknowledgeType": "archived", 
"loweredAt": 1432318734, 
"peerCount": 0, 
"firstEvidenceAt": 1432247096, 
"prefix": "171.181.112.0/24", 
"updatedAt": 1435764223, 
"acknowledgedAt": 1435764223, 
"category": "unexpected-activity", 
"raisedAt": 1432247096, 
"validOrigins": [], 
"alarmId": 769458, 
"asset": "171.181.112.0/24", 
"type": "unexpected-prefix-activity", 
"userName": "example@sample.com", 
"typeName": "unexpected-prefix-activity", 
"previousOrigin": null
}

GET /portfolio/monitoring/types

Retrieves a list of alert types. See Alerts Output by Type for more information on the information contained in each alert.

URI: https://dii.dynapis.com/portfolio/monitoring/types
Legacy URI: https://api.renesys.com/portfolio/monitoring/types

Request Body Fields (JSON):

  • None

Example Response (JSON):

[
  "hijack",
  "outage",
  "instability",
  "leak",
  "unexpected-activity",
  "upstream",
  "performance",
  "cloudzone",
  "cdn"
]

GET /portfolio/monitoring/alerts/{alarmid} (details by alert ID)

Retrieves the details for the identified alert. When you receive a Routing or Performance Alert notification email, you can use the Alert’s Alarm ID (inside the email) to retrieve the details about the alert through the API, including information on when the issue was first seen, the time the alert was raised, and the current monitoring threshold that was crossed. This information can be used to better understand the context around the alert notification. See Alerts Output for information on the output for the various Internet Alert types.

URI https://dii.dynapis.com/portfolio/monitoring/alerts/{alarmid}
Legacy URI: https://api.renesys.com/portfolio/monitoring/alerts/{alarmid}

Request Body Fields (JSON):

  • None

Example Response (JSON):
See Alerts Output for information on the output for each type of alert.

{
  "acknowledgeType": null,
  "loweredAt": 1480514730,
  "peerCount": 46,
  "firstEvidenceAt": 1480514470,
  "prefix": "84.205.64.0/24",
  "updatedAt": 1480514764,
  "acknowledgedAt": null,
  "category": "instability",
  "raisedAt": 1480514460,
  "alarmId": 24631168,
  "asset": "84.205.64.0/24",
  "type": "instability",
  "userName": "7a002f3b-16d1-4e3b-aff6-b078beb14f9c",
  "typeName": "instability"
}

POST /portfolio/monitoring/bulkAcknowledge (all)

Acknowledge all alerts. Alerts remain active until acknowledged. You can all acknowledge alerts at once using this command. See Alert Categories and Types for a listing of available alert categories.

URI https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge
Legacy URI: https://api.renesys.com/portfolio/monitoring/bulkAcknowledge

Request Body Fields (JSON):

  • None

Example Response:

HTTP/1.1 204 No Content

POST /portfolio/monitoring/bulkAcknowledge (one asset)

Acknowledge an alert from one asset. Alerts remain active until acknowledged. See Alert Categories and Types for a listing of available alert categories.

URI: https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?asset={asset}
Legacy URI: https://api.renesys.com/portfolio/monitoring/bulkAcknowledge?asset={asset}

Example for acknowledging alerts for an ASN:
https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?asset=12654

Request Body Fields (JSON):

  • None

Example Response:

HTTP/1.1 204 No Content

POST /portfolio/monitoring/bulkAcknowledge (one type)

Acknowledge all alerts of one type. Alerts remain active until acknowledged. See Alert Categories and Types for a listing of available alert categories.

URI: https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?typeName={alarm type}
Legacy URI: https://api.renesys.com/portfolio/monitoring/bulkAcknowledge?typeName={alarm type}

Example URI acknowledging one type of alert (outage):
https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?typeName=outage

Response Body Fields (JSON):

  • None

Example Response:

HTTP/1.1 204 No Content

POST /portfolio/monitoring/bulkAcknowledge (one type, one asset)

Acknowledge one type of alert for one asset. Alerts remain active until acknowledged. See Alert Categories and Types for a listing of available alert categories.

URI: https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?{asset type}={prefix}&typeName={alert type}
Legacy URI: https://api.renesys.com/portfolio/monitoring/bulkAcknowledge?{asset type}={prefix}&typeName={alert type}

Example URI acknowledging outage on a specific IP prefix:
https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?prefix=84.205.64.0/24&typeName=outage

Example URI acknowledging instability on a specific IP prefix:
https://dii.dynapis.com/portfolio/monitoring/bulkAcknowledge?asn=84.205.64.0/24&typeName=instability

Response Body Fields (JSON):

  • None

Example Response:

HTTP/1.1 204 No Content

PUT /portfolio/inventories/{inventory} (enable or disable alerts)

Enable or disable alerts for an inventory. Updating the contents of an inventory is the same request for Internet Routing Alerts and Internet Performance Alerts APIs.

NOTE: If you have both Internet Routing Alerts and Internet Performance Alerts, inventories are shared between the two products. If you update an inventory, the new inventory contents will be available for both products.

URI: https://dii.dynapis.com/portfolio/{inventory}
Legacy URI: https://api.renesys.com/portfolio/{inventory}

A sample URI for an inventory named “example inventory”: https://dii.dynapis.com/portfolio/example%20inventory

Example Request (JSON):
Must be a JSON object.

{"monitoring": true, "comment": "This is your comment"}

Request Body Fields (JSON):

  • monitoring – Enable alerts for this asset. Values can be either true or false.
  • comment – User supplied description of the asset.

Example Response:

HTTP/1.1 204 No Content