Investigate Internet outages with IODA events, alerts, and connectivity signals via MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find IODA outage events overlapping an explicit Unix-second window of at most 31 days. Omit entity filters for global scope, which searches one day outside the window by default instead of 14; global searches over multi-day windows can time out, so narrow the window or add entityType. A code requires its entityType. relatedToType and relatedToCode limit results to entityType entities within one country, region, ASN, or geoasn. Source scores are not an absolute severity scale. Starts at until are included; adjacent windows can duplicate boundary detections. Starts may precede from; ends can be clipped at until and do not establish recovery. ignoreMethods excludes source.method, source.*, or *.method upstream before scoring. includeAlerts adds nested transitions and can increase size. Pages are zero-based; keep filters and limit fixed.
Inclusive Unix seconds UTC; no milliseconds; window at most 31 days.
Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections.
Zero-based upstream page; restart at 0 when changing limit.
Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing.
bgp, ping-slash24, merit-nt, or gtr; blank means all sources. Case and whitespace are normalized.
Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here.
country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized.
Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls.
Include original nested alert transitions and baselines; may substantially increase response size.
Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType.
Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually.
Seconds before from to search for the start of an event overlapping the window, and after until for its recovery; only overlapping events are returned. Defaults to 1209600 (14 days) with entityType and 86400 (one day) without it, because large global extensions can time out; the applied value is echoed. Values above 1209600 are served as 1209600 with a notice. Zero may miss long-running detections.
Find IODA outage events overlapping an explicit Unix-second window of at most 31 days. Omit entity filters for global scope, which searches one day outside the window by default instead of 14; global searches over multi-day windows can time out, so narrow the window or add entityType. A code requires its entityType. relatedToType and relatedToCode limit results to entityType entities within one country, region, ASN, or geoasn. Source scores are not an absolute severity scale. Starts at until are included; adjacent windows can duplicate boundary detections. Starts may precede from; ends can be clipped at until and do not establish recovery. ignoreMethods excludes source.method, source.*, or *.method upstream before scoring. includeAlerts adds nested transitions and can increase size. Pages are zero-based; keep filters and limit fixed.
| Argument | Type | Description |
|---|---|---|
| from* | integer | Inclusive Unix seconds UTC; no milliseconds; window at most 31 days. |
| page | integer | Zero-based upstream page; restart at 0 when changing limit. |
| limit | integer | Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing. |
| until* | integer | Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections. |
| source | string | bgp, ping-slash24, merit-nt, or gtr; blank means all sources. Case and whitespace are normalized. |
| entityCode | string | Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here. |
| entityType | string | country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized. |
| ignoreMethods | array | Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls. |
| includeAlerts | boolean | Include original nested alert transitions and baselines; may substantially increase response size. |
| relatedToCode | string | Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType. |
| relatedToType | string | Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually. |
| extendWindowSeconds | integer | Seconds before from to search for the start of an event overlapping the window, and after until for its recovery; only overlapping events are returned. Defaults to 1209600 (14 days) with entityType and 86400 (one day) without it, because large global extensions can time out; the applied value is echoed. Values above 1209600 are served as 1209600 with a notice. Zero may miss long-running detections. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"from",
"until"
],
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inclusive Unix seconds UTC; no milliseconds; window at most 31 days.",
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based upstream page; restart at 0 when changing limit."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing."
},
"until": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections.",
"exclusiveMinimum": 0
},
"source": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[bB][gG][pP]|[pP][iI][nN][gG]-[sS][lL][aA][sS][hH]24|[mM][eE][rR][iI][tT]-[nN][tT]|[gG][tT][rR])\\s*)$(?![\\s\\S])",
"description": "bgp, ping-slash24, merit-nt, or gtr; blank means all sources. Case and whitespace are normalized."
},
"entityCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here."
},
"entityType": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized."
},
"ignoreMethods": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:\\s*(?:(?:(?:[bB][gG][pP]|[pP][iI][nN][gG]-[sS][lL][aA][sS][hH]24|[mM][eE][rR][iI][tT]-[nN][tT]|[gG][tT][rR])\\.(?:\\*|[^\\s.,|*]+)|\\*\\.[^\\s.,|*]+))\\s*)$(?![\\s\\S])",
"description": "One detection method exclusion; case and surrounding whitespace are normalized."
},
"description": "Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls."
},
"includeAlerts": {
"type": "boolean",
"default": false,
"description": "Include original nested alert transitions and baselines; may substantially increase response size."
},
"relatedToCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType."
},
"relatedToType": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually."
},
"extendWindowSeconds": {
"type": "integer",
"maximum": 12096000,
"minimum": 0,
"description": "Seconds before from to search for the start of an event overlapping the window, and after until for its recovery; only overlapping events are returned. Defaults to 1209600 (14 days) with entityType and 86400 (one day) without it, because large global extensions can time out; the applied value is echoed. Values above 1209600 are served as 1209600 with a notice. Zero may miss long-running detections."
}
},
"additionalProperties": false
}Retrieve IODA detection and recovery transitions in an explicit Unix-second window of at most 31 days. Omit entity filters for global scope; a code requires entityType. relatedToType and relatedToCode limit results to entityType entities within one country, region, ASN, or geoasn, served at page 0 only. Each transition retains its source, level, condition, value and baseline; levels and baselines are not a source-independent severity scale. Transitions include both requested bounds, widened by extendWindowSeconds; adjacent windows can duplicate boundary detections. ignoreMethods excludes source.method, source.*, or *.method upstream. Missing transitions do not establish health. Pages are zero-based; keep filters and limit fixed.
| Argument | Type | Description |
|---|---|---|
| from* | integer | Inclusive Unix seconds UTC; no milliseconds; window at most 31 days. |
| page | integer | Zero-based upstream page; restart at 0 when changing limit. |
| limit | integer | Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing. |
| until* | integer | Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections. |
| source | string | bgp, ping-slash24, merit-nt, or gtr; blank means all sources. Case and whitespace are normalized. |
Fetch numeric BGP visibility, active IPv4 /24 probing, or Merit telescope series for one entity in an explicit Unix-second window of at most 31 days. source is required: bgp, ping-slash24, or merit-nt. Nulls are missing observations, not zero connectivity. maxPoints requests upstream aggregation, not first-N samples; smaller values lose temporal resolution. Returned series retain aligned boundary buckets with exclusive returned until bounds that may extend beyond requested bounds; timestamps and intervals support cross-source comparisons.
| Argument | Type | Description |
|---|---|---|
| from* | integer | Requested start Unix seconds UTC; window at most 31 days. Aligned returned buckets may begin earlier. |
| until* | integer | Requested end Unix seconds UTC, after from and no later than now. Returned bucket bounds are exclusive and may extend beyond this requested bound due to alignment. |
| source* | string | Exactly bgp, ping-slash24, or merit-nt; case and whitespace normalized. gtr and ucsd-nt are not supported numeric sources. |
| maxPoints | integer | Upstream aggregation target, not a local sample cap; smaller targets lose temporal resolution. Values above 2000 are served as 2000 with a notice. |
| entityCode* | string | Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here. |
Inspect recent IODA detection evidence and measurement coverage for one entity over a lookback of 1–24 hours. Collect events, alerts, bgp, ping-slash24 and merit-nt evidence. Partial failures remain explicit and route to standalone tools. recent, stale, no_data and unknown describe observation availability; buckets within the 1800-second publication allowance count as pending, not missing. No alerts is not an all-clear. IODA measures macroscopic connectivity, not one office or a shutdown cause.
| Argument | Type | Description |
|---|---|---|
| entityCode* | string | Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here. |
| entityType* | string | country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized. |
| lookbackHours | integer | Hours before the captured invocation time; values above 24 are served as 24 with a notice naming the uncovered earlier window. The exact window is returned. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"entityType",
"entityCode"
],
"properties": {
"entityCode": {
"type": "string",
"pattern": "^(?:\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here."
},
"entityType": {
"type": "string",
"pattern": "^(?:\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized."
},
"lookbackHours": {
"type": "integer",
"default": 6,
"maximum": 240,
"minimum": 1,
"description": "Hours before the captured invocation time; values above 24 are served as 24 with a notice naming the uncovered earlier window. The exact window is returned."
}
},
"additionalProperties": false
}Resolve country, region, autonomous-system, or geoasn (one ASN within a region or country) names and codes for outage investigations. Choose entityType and either query or entityCode; omit both to list the type. Countries use two letters, regions numeric IODA codes, ASNs decimal digits (AS prefix accepted), geoasns an ASN and a region or country code (40934-576, 59962-IR). Add relatedToType and relatedToCode to list entityType entities within one country, region, ASN, or geoasn, such as the regions or networks of a country; a scope combines with query. Metadata does not establish measurement coverage. Pages are zero-based; keep limit fixed when continuing.
| Argument | Type | Description |
|---|---|---|
| page | integer | Zero-based upstream page; restart at 0 when changing limit. |
| limit | integer | Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing. |
| query | string | Name substring, trimmed to at most 200 UTF-16 code units; blank is omitted. Mutually exclusive with entityCode. |
| entityCode | string | Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here. |
| entityType* | string | country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized. |
Rank the entities of one entityType by IODA's outage summary score over an explicit Unix-second window of at most 31 days, such as the countries or a country's regions hit hardest this week. Rows keep IODA's order, descending scores.overall. IODA merges overlapping events from different sources, scores each merged event as the product of its sources' scores, and sums the merged events into overall; each <source>.<method> key sums that source's event scores. Scores are window totals for ranking the rows of one request, not current status, and are not comparable across requests with different windows. Add entityCode for one entity, or relatedToType and relatedToCode to rank entityType entities within one country, region, ASN, or geoasn; large type-only rankings can time out. Event-start selection includes until, so adjacent windows can duplicate boundary detections. ignoreMethods excludes source.method, source.*, or *.method upstream before scoring; keep exclusions fixed when comparing rankings or drilling into events and alerts. An empty result is not an all-clear. Pages are zero-based; keep filters and limit fixed.
| Argument | Type | Description |
|---|---|---|
| from* | integer | Inclusive Unix seconds UTC; no milliseconds; window at most 31 days. |
| page | integer | Zero-based upstream page; restart at 0 when changing limit. |
| limit | integer | Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing. |
| until* | integer | Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections. |
| entityCode |
| string |
| Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here. |
| entityType | string | country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized. |
| ignoreMethods | array | Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls. |
| relatedToCode | string | Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType. |
| relatedToType | string | Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually. |
| extendWindowSeconds | integer | Seconds before from and after until to also return transitions from; zero, the default, returns only transitions inside the window. Without entityType, large extensions are slow globally and can time out, so add entityType or keep the extension small. Values above 1209600 (14 days) are served as 1209600 with a notice. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"from",
"until"
],
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inclusive Unix seconds UTC; no milliseconds; window at most 31 days.",
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based upstream page; restart at 0 when changing limit."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing."
},
"until": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections.",
"exclusiveMinimum": 0
},
"source": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[bB][gG][pP]|[pP][iI][nN][gG]-[sS][lL][aA][sS][hH]24|[mM][eE][rR][iI][tT]-[nN][tT]|[gG][tT][rR])\\s*)$(?![\\s\\S])",
"description": "bgp, ping-slash24, merit-nt, or gtr; blank means all sources. Case and whitespace are normalized."
},
"entityCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here."
},
"entityType": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized."
},
"ignoreMethods": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:\\s*(?:(?:(?:[bB][gG][pP]|[pP][iI][nN][gG]-[sS][lL][aA][sS][hH]24|[mM][eE][rR][iI][tT]-[nN][tT]|[gG][tT][rR])\\.(?:\\*|[^\\s.,|*]+)|\\*\\.[^\\s.,|*]+))\\s*)$(?![\\s\\S])",
"description": "One detection method exclusion; case and surrounding whitespace are normalized."
},
"description": "Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls."
},
"relatedToCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType."
},
"relatedToType": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually."
},
"extendWindowSeconds": {
"type": "integer",
"default": 0,
"maximum": 12096000,
"minimum": 0,
"description": "Seconds before from and after until to also return transitions from; zero, the default, returns only transitions inside the window. Without entityType, large extensions are slow globally and can time out, so add entityType or keep the extension small. Values above 1209600 (14 days) are served as 1209600 with a notice."
}
},
"additionalProperties": false
}| entityType* | string | country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"entityType",
"entityCode",
"from",
"until",
"source"
],
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Requested start Unix seconds UTC; window at most 31 days. Aligned returned buckets may begin earlier.",
"exclusiveMinimum": 0
},
"until": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Requested end Unix seconds UTC, after from and no later than now. Returned bucket bounds are exclusive and may extend beyond this requested bound due to alignment.",
"exclusiveMinimum": 0
},
"source": {
"type": "string",
"pattern": "^(?:\\s*(?:[bB][gG][pP]|[pP][iI][nN][gG]-[sS][lL][aA][sS][hH]24|[mM][eE][rR][iI][tT]-[nN][tT])\\s*)$(?![\\s\\S])",
"description": "Exactly bgp, ping-slash24, or merit-nt; case and whitespace normalized. gtr and ucsd-nt are not supported numeric sources."
},
"maxPoints": {
"type": "integer",
"default": 200,
"maximum": 20000,
"minimum": 1,
"description": "Upstream aggregation target, not a local sample cap; smaller targets lose temporal resolution. Values above 2000 are served as 2000 with a notice."
},
"entityCode": {
"type": "string",
"pattern": "^(?:\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here."
},
"entityType": {
"type": "string",
"pattern": "^(?:\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized."
}
},
"additionalProperties": false
}| relatedToCode | string | Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType. |
| relatedToType | string | Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"entityType"
],
"properties": {
"page": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based upstream page; restart at 0 when changing limit."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing."
},
"query": {
"type": "string",
"pattern": "^(?:\\s*|\\s*\\S(?:[\\s\\S]{0,198}\\S)?\\s*)$(?![\\s\\S])",
"description": "Name substring, trimmed to at most 200 UTF-16 code units; blank is omitted. Mutually exclusive with entityCode."
},
"entityCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here."
},
"entityType": {
"type": "string",
"pattern": "^(?:\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized."
},
"relatedToCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType."
},
"relatedToType": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually."
}
},
"additionalProperties": false
}| entityCode | string | Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here. |
| entityType* | string | country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized. |
| ignoreMethods | array | Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls. |
| relatedToCode | string | Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType. |
| relatedToType | string | Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually. |
| extendWindowSeconds | integer | Seconds before from to search for the start of an event overlapping the window, and after until for its recovery; defaults to 1209600 (14 days), IODA's default. Values above 1209600 are served as 1209600 with a notice. Large extensions on type-only rankings can time out; zero may miss long-running detections. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"entityType",
"from",
"until"
],
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inclusive Unix seconds UTC; no milliseconds; window at most 31 days.",
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based upstream page; restart at 0 when changing limit."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Upstream page size; values above 100 are served as 100 with a notice. Keep fixed when continuing."
},
"until": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inclusive Unix seconds UTC for transition/event-start selection, after from and no later than now; adjacent windows can duplicate boundary detections.",
"exclusiveMinimum": 0
},
"entityCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Two-letter country code, IODA numeric region code, decimal ASN (AS prefix accepted), or geoasn code joining an ASN and a region or country code (40934-576, 59962-IR); resolve names with ioda_search_entities and pass a returned code here."
},
"entityType": {
"type": "string",
"pattern": "^(?:\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "country, region, asn, or geoasn (one ASN within a region or country); whitespace and case are normalized."
},
"ignoreMethods": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:\\s*(?:(?:(?:[bB][gG][pP]|[pP][iI][nN][gG]-[sS][lL][aA][sS][hH]24|[mM][eE][rR][iI][tT]-[nN][tT]|[gG][tT][rR])\\.(?:\\*|[^\\s.,|*]+)|\\*\\.[^\\s.,|*]+))\\s*)$(?![\\s\\S])",
"description": "One detection method exclusion; case and surrounding whitespace are normalized."
},
"description": "Detection methods to exclude upstream before event construction and scoring; duplicates are removed, and an empty array excludes nothing. Keep fixed across ranking and drill-down calls."
},
"relatedToCode": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[a-zA-Z]{2}|(?:[aA][sS])?[0-9]+(?:-(?:[0-9]+|[a-zA-Z]{2}))?)\\s*)$(?![\\s\\S])",
"description": "Scope entity code, normalized like entityCode for relatedToType (IR, 1829, AS42337, 60627-IR); resolve names with ioda_search_entities. Provide with relatedToType."
},
"relatedToType": {
"type": "string",
"pattern": "^(?:\\s*|\\s*(?:[cC][oO][uU][nN][tT][rR][yY]|[rR][eE][gG][iI][oO][nN]|[aA][sS][nN]|[gG][eE][oO][aA][sS][nN])\\s*)$(?![\\s\\S])",
"description": "Scope type: country, region, asn, or geoasn. With relatedToCode, returns entityType entities related to that entity, such as the regions or networks of one country. Requires entityType and excludes entityCode; blank is omitted. Outage membership coverage is unverified independently of row pagination; page ioda_search_entities and query selected codes individually."
},
"extendWindowSeconds": {
"type": "integer",
"default": 1209600,
"maximum": 12096000,
"minimum": 0,
"description": "Seconds before from to search for the start of an event overlapping the window, and after until for its recovery; defaults to 1209600 (14 days), IODA's default. Values above 1209600 are served as 1209600 with a notice. Large extensions on type-only rankings can time out; zero may miss long-running detections."
}
},
"additionalProperties": false
}