This API requires an API key with appropriate permissions. See API Key
Documentation for more details.
Quick Start
Authentication
Include your API key in theX-API-KEY
header:
Example Request
Request Schema
Request Body
Field | Type | Required | Default | Constraints | Description |
---|---|---|---|---|---|
slug | string | ✅ Yes | - | - | Organization slug identifier |
cursor | number | ❌ No | - | - | Pagination cursor from previous response |
limit | number | ❌ No | 50 | Min: 1, Max: 100 | Number of results to return |
filters | Filter[] | ❌ No | [] | - | Array of filter objects |
query | string | ❌ No | "" | - | Search query for threat content (case-insensitive) |
startDate | string | ❌ No | - | ISO 8601 format | Start date for filtering results |
endDate | string | ❌ No | - | ISO 8601 format | End date for filtering results |
Filter Schema
Each filter object must have the following structure:Field | Type | Required | Description |
---|---|---|---|
property | string | ✅ Yes | Filter property (see options below) |
operator | string | ✅ Yes | "in" or "notIn" |
value | string[] | ✅ Yes | Array of values to filter by |
Filter Properties
1. Source Filter ("source"
)
Available Source Values
Available Source Values
"ASSET_CHECK"
- Asset verification checks"BING_SEARCH"
- Bing search results"CERTSTREAM"
- Certificate transparency logs"DNS_TWIST"
- DNS twist detection"DUCK_DUCK_GO_SEARCH"
- DuckDuckGo search results"EXTERNAL"
- External threat submissions"GOOGLE_SEARCH"
- Google search results"GUESTBOOK"
- Guestbook submissions"MEDIUM_TAG_RSS"
- Medium RSS feeds"MOZILLA_ADDON_SEARCH"
- Mozilla addon searches"REDDIT_SUBREDDIT_SEARCH"
- Reddit subreddit searches"TWITTER"
- Twitter monitoring"TWITTER_POST_SEARCH"
- Twitter post searches"TWITTER_SEARCH"
- Twitter search results"URLSCAN"
- URLScan.io results"YAHOO_SEARCH"
- Yahoo search results"YOUTUBE_SEARCH"
- YouTube search results
"assetStatus"
)
"UNKNOWN"
- Status not yet determined"ALLOWED"
- Asset is legitimate/allowed"BLOCKED"
- Asset is blocked/malicious
"confidence"
)
"none"
- No confidence threshold met"low"
- Low confidence threat detection"medium"
- Medium confidence threat detection"high"
- High confidence threat detection
"assetType"
)
Available Asset Type Values
Available Asset Type Values
"URL"
- Website URLs"PAGE"
- Web pages"ADDRESS"
- Blockchain addresses"TWITTER"
- Twitter profiles/posts"FACEBOOK"
- Facebook profiles/pages"YOUTUBE"
- YouTube channels/videos"REDDIT"
- Reddit posts/subreddits"TELEGRAM"
- Telegram channels/groups"DISCORD"
- Discord servers (deprecated)"DISCORD_USER"
- Discord users"LINKEDIN"
- LinkedIn profiles"INSTAGRAM"
- Instagram profiles"THREADS"
- Threads profiles"TIKTOK"
- TikTok profiles"MEDIUM"
- Medium articles/profiles"EMAIL"
- Email addresses"WHATSAPP"
- WhatsApp contacts"GOOGLE_APP_STORE"
- Google Play Store apps"APPLE_APP_STORE"
- Apple App Store apps"AMAZON_APP_STORE"
- Amazon App Store apps"MICROSOFT_APP_STORE"
- Microsoft Store apps"CHROME_WEB_STORE"
- Chrome extensions"MOZILLA_ADDONS"
- Firefox addons"OPERA_ADDONS"
- Opera addons"PATREON"
- Patreon profiles"OPENSEA"
- OpenSea collections/profiles"FARCASTER"
- Farcaster profiles"IPFS"
- IPFS hashes"GOOGLE_FORM"
- Google Forms"QUORA"
- Quora profiles/posts"GITHUB"
- GitHub repositories/profiles"TEACHABLE"
- Teachable courses"SUBSTACK"
- Substack publications"DEBANK"
- DeBank profiles"TAWK_TO"
- Tawk.to chat widgets"JOTFORM"
- JotForm forms"PRIMAL"
- Primal profiles"BLUESKY"
- Bluesky profiles"SNAPCHAT"
- Snapchat profiles"DESO"
- DeSo profiles
Response Schema
Response Body
Detection Result Object
Each item in thedetections
array has the following structure:
Field | Type | Description |
---|---|---|
id | number | Unique threat detection result identifier |
threatContent | string | Content that was detected as threatening |
source | string | Source of the threat detection (ThreatDetectionSourceKey) |
createdAt | string | ISO 8601 timestamp of when threat was detected |
confidence | string | Confidence level: “none”, “low”, “medium”, or “high” |
reportStatus | string | Report status: “REPORTED” or “NOT_REPORTED” |
asset | AssetObject | Associated asset information |
Asset Object
Field | Type | Description |
---|---|---|
id | number | Unique asset identifier |
content | string | Asset content (URL, address, username, etc.) |
type | string | Asset type (AssetType enum value) |
status | string | Current asset status (AssetStatus enum value) |
Complete Response Example
Access Control
The API enforces strict access control based on your API key:-
Organization API Keys:
- Can only access detection results for their associated organization
- Must match the
slug
parameter exactly - Example: An API key for “acme-org” can only query results for “acme-org”
-
User API Keys:
- Can access detection results for any organization where the user is a member
- Requires the user to be an active member of the queried organization
Example Implementation
Authorizations
Your API key. This is required by most endpoints to access our API programatically. Reach out to us at support@chainpatrol.io to get an API key for your use.
Body
application/json