Skip to main content

Incidents API Reference

The Incidents API provides programmatic access to all detections from DarkFlash, Shadowspot, and BrandSafe. Each product exposes its own endpoint under a common base URL.

Base URL

https://incidents.cyberxtron.com

Authentication

All endpoints require two custom request headers:

HeaderDescription
XTRON-ORG-KEYYour organization's access key
XTRON-ORG-SECRETYour organization's access secret

Requests missing these headers or with invalid credentials return 401 Unauthorized.

Credentials are provisioned by the CyberXTron team. Contact support@cyberxtron.com to request access.

curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/darkflash/incidents"

Endpoints

DarkFlash Incidents

Retrieve incidents detected by DarkFlash — credential leaks, data breach mentions, ransomware listings, and threat actor activity.

GET /api/v1/darkflash/incidents

Query Parameters

ParameterTypeDefaultDescription
keywordstringFilter by monitored keyword
statusstring[]Filter by status: Open, In Progress, Closed
severitystringFilter by severity label
created_datestringFilter by date (YYYY-MM-DD)
created_timestringFilter by time (HH:MM:SS)
pageinteger1Page number (min: 1)
sizeinteger10Results per page (min: 1, max: 100)

Example Requests

# All open DarkFlash incidents
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/darkflash/incidents?status=Open"

# Filter by keyword and severity
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/darkflash/incidents?keyword=acme+corp&severity=Critical&page=1&size=25"

# Filter by date
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/darkflash/incidents?created_date=2026-04-01&status=Open"

Example Response

{
"success": true,
"data": [
{
"id": 12345,
"title": "Employee credentials found in stealer log",
"taskKey": "DFINC-123",
"status_description": "Open",
"status_statusCd": "Open",
"severity_label": "Critical",
"category_name": "Credential Leak",
"taskType_name": "Stealer Log",
"product_name": "DarkFlash",
"description": "Employee credentials matching your monitored domain were found in a stealer log published on a dark web forum.",
"createdDt": 1743494400,
"updatedDt": 1743494400,
"impact": "Compromised credentials may allow unauthorized access to corporate systems.",
"recommendation": "Force a password reset for the affected accounts and review authentication logs.",
"keyword": "example.com",
"publisher_source": "Dark web forum",
"retrieved_data": "username@example.com:password123"
}
],
"meta": {
"pagination": {
"total": 42,
"page": 1,
"page_size": 10,
"total_pages": 5
}
}
}

Shadowspot Findings

Retrieve attack surface findings from Shadowspot — exposed services, CVEs, certificate issues, subdomain takeovers, and cloud misconfigurations.

GET /api/v1/shadowspot/findings
note

Shadowspot uses the path /findings rather than /incidents.

Query Parameters

ParameterTypeDefaultDescription
domainstringFilter by affected domain
statusstring[]Filter by status: Open, In Progress, Closed
severitystringFilter by severity label
created_datestringFilter by date (YYYY-MM-DD)
created_timestringFilter by time (HH:MM:SS). Requires created_date.
pageinteger1Page number (min: 1)
sizeinteger10Results per page (min: 1, max: 100)

Example Requests

# All open Shadowspot findings
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/shadowspot/findings?status=Open"

# Filter by domain and severity
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/shadowspot/findings?domain=example.com&severity=Critical"

# Paginate through all findings
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/shadowspot/findings?page=2&size=50"

Example Response

{
"success": true,
"data": [
{
"id": 67890,
"title": "Elasticsearch instance exposed on port 9200",
"taskKey": "SSINC-456",
"status_description": "Open",
"status_statusCd": "Open",
"severity_label": "Critical",
"category_name": "Exposed Service",
"taskType_name": "Open Port",
"product_name": "Shadowspot",
"description": "An Elasticsearch instance is publicly accessible without authentication.",
"createdDt": 1743494400,
"updatedDt": 1743494400,
"priorty": "High",
"assets": "api.example.com:9200",
"url": "http://api.example.com:9200",
"epss": "0.87",
"cvss": "9.8",
"ransomware_exploited_cve": "Yes",
"in_the_wild": "Yes",
"impact": "Unauthenticated access to all indexed data.",
"remediation": "Restrict access using firewall rules or move behind VPN.",
"domain": "example.com",
"verification_details": "Confirmed accessible from public internet. Index listing returned without credentials."
}
],
"meta": {
"pagination": {
"total": 18,
"page": 1,
"page_size": 10,
"total_pages": 2
}
}
}

BrandSafe Incidents

Retrieve brand threat incidents from BrandSafe — phishing sites, typosquatting domains, fake social profiles, and counterfeit apps.

GET /api/v1/brandsafe/incidents

Query Parameters

ParameterTypeDefaultDescription
brand_domainstringFilter by monitored brand domain
statusstring[]Filter by status: Open, In Progress, Closed
severitystringFilter by severity label
created_datestringFilter by date (YYYY-MM-DD)
created_timestringFilter by time (HH:MM:SS)
pageinteger1Page number (min: 1)
sizeinteger10Results per page (min: 1, max: 100)

Example Requests

# All open BrandSafe incidents
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/brandsafe/incidents?status=Open"

# Filter by brand domain
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/brandsafe/incidents?brand_domain=example.com&severity=Critical"

Example Response

{
"success": true,
"data": [
{
"id": 34567,
"title": "Phishing site impersonating example.com login page",
"taskKey": "BSINC-789",
"status_description": "Open",
"status_statusCd": "Open",
"severity_label": "Critical",
"category_name": "Phishing",
"taskType_name": "Phishing Site",
"product_name": "BrandSafe",
"description": "A phishing site mimicking the example.com login portal was detected, designed to harvest user credentials.",
"createdDt": 1743494400,
"updatedDt": 1743494400,
"impact": "Users may submit credentials to the attacker-controlled site.",
"recommendation": "Submit abuse reports to the registrar and hosting provider. Report to Google Safe Browsing and Microsoft SmartScreen.",
"brand_name": "Example Corp",
"brand_domain": "example.com",
"platform": "Web",
"registrar": "Namecheap",
"ip_address": "203.0.113.99",
"url": "https://example-secure-login.com/login",
"webhost_authority": "Cloudflare",
"webhost_country": "United States",
"phone_numbers": null
}
],
"meta": {
"pagination": {
"total": 7,
"page": 1,
"page_size": 10,
"total_pages": 1
}
}
}

Pagination

All list endpoints use page-based pagination. Navigate pages using page and size:

# Page 1, 25 results per page
curl \
-H "XTRON-ORG-KEY: your_org_key" \
-H "XTRON-ORG-SECRET: your_org_secret" \
"https://incidents.cyberxtron.com/api/v1/darkflash/incidents?page=1&size=25"

The meta.pagination object in every response tells you how to fetch the next page:

"meta": {
"pagination": {
"total": 42,
"page": 1,
"page_size": 25,
"total_pages": 2
}
}
FieldDescription
totalTotal number of matching records
pageCurrent page number
page_sizeNumber of results on this page
total_pagesTotal number of pages

Response Schemas

Common Fields (all products)

These fields appear on every incident/finding:

FieldTypeDescription
idintegerUnique numeric ID
titlestringShort title describing the detection
taskKeystringTicket key (e.g., DFINC-123, SSINC-456, BSINC-789)
status_descriptionstringHuman-readable status
status_statusCdstringStatus code: Open, In Progress, Closed
severity_labelstringSeverity: Critical, High, Medium, Low
category_namestringDetection category
taskType_namestringSpecific incident type
product_namestringSource product name
descriptionstringFull description of the detection
createdDtintegerCreation Unix timestamp (milliseconds)
updatedDtintegerLast update Unix timestamp (milliseconds)
impactstringImpact description
recommendationstringSuggested remediation action

DarkFlash-Specific Fields

FieldTypeDescription
keywordstringThe monitored keyword that triggered this detection
publisher_sourcestringWhere the data was found (e.g., dark web forum, Telegram)
retrieved_datastringRaw retrieved data excerpt

Shadowspot-Specific Fields

FieldTypeDescription
assetsstringAffected asset (host, IP, or port)
urlstringAffected URL
domainstringAffected domain
cvssstringCVSS score (for CVE findings)
epssstringEPSS probability score (for CVE findings)
ransomware_exploited_cvestringWhether this CVE is known to be exploited by ransomware
in_the_wildstringWhether the vulnerability is being actively exploited
priortystringPriority level
remediationstringSpecific remediation steps
verification_detailsstringEvidence and confirmation details

BrandSafe-Specific Fields

FieldTypeDescription
brand_namestringMonitored brand name
brand_domainstringMonitored brand domain
platformstringPlatform where the threat was found
urlstringURL of the infringing asset
ip_addressstringIP address of the infringing host
registrarstringDomain registrar
webhost_authoritystringHosting provider
webhost_countrystringCountry where the site is hosted
phone_numbersstringPhone numbers found on the infringing site

Error Handling

Error Response Format

{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": [
{
"loc": ["query", "status"],
"msg": "value is not a valid enum member",
"type": "type_error.enum"
}
]
}
}

HTTP Status Codes

StatusDescription
200Successful response
401Invalid or missing XTRON-ORG-KEY / XTRON-ORG-SECRET
403Subscription suspended or expired
404Resource not found
422Validation error — check your query parameter values

Health Check

Verify API availability without authentication:

curl "https://incidents.cyberxtron.com/health"

Returns 200 OK when the service is operational.