Skip to main content
POST
List threats

Quick Start

Authentication

Include your API key in the X-API-KEY header:

Example Request

Request Schema

Request Body

Sorting Configuration

Each sorting object must have the following structure:

Available Sort Fields

  • "id" - Sort by threat ID
  • "blockedAt" - Sort by when the asset was blocked
  • "content" - Sort by threat content
  • "type" - Sort by asset type

Asset Type Filter

The assetType parameter accepts an array of asset types to filter by:
  • "URL" - Website URLs
  • "PAGE" - Web pages
  • "ADDRESS" - Blockchain addresses
  • "LINKEDIN" - LinkedIn profiles
  • "TWITTER" - Twitter profiles/posts
  • "FACEBOOK" - Facebook profiles/pages
  • "YOUTUBE" - YouTube channels/videos
  • "REDDIT" - Reddit posts/subreddits
  • "TELEGRAM" - Telegram channels/groups
  • "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
  • "TIKTOK" - TikTok profiles
  • "INSTAGRAM" - Instagram profiles
  • "THREADS" - Threads profiles
  • "MEDIUM" - Medium articles/profiles
  • "CHROME_WEB_STORE" - Chrome extensions
  • "MOZILLA_ADDONS" - Firefox addons
  • "OPERA_ADDONS" - Opera addons
  • "EMAIL" - Email addresses
  • "PATREON" - Patreon profiles
  • "OPENSEA" - OpenSea collections/profiles
  • "FARCASTER" - Farcaster profiles
  • "IPFS" - IPFS hashes
  • "GOOGLE_FORM" - Google Forms
  • "WHATSAPP" - WhatsApp contacts
  • "DISCORD_USER" - Discord users
  • "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
  • "PINTEREST" - Pinterest profiles/pins

Response Schema

Response Body

Threat Result Object

Each item in the threats array has the following structure:

Complete Response Example

Access Control

The API enforces strict access control based on your API key:
  1. Organization API Keys:
    • Can only access threats for their associated organization
    • Returns only threats that were blocked by the organization
    • Example: An API key for “acme-org” can only query threats blocked by “acme-org”
  2. User API Keys:
    • Can access threats for any organization where the user is a member
    • Requires the user to be an active member of the queried organization
If you attempt to access threats without proper permissions, you will receive a 401 Unauthorized error with the message: “Valid API key required”

Default Behavior

  • Date Range: If no startDate or endDate is provided, the API defaults to returning threats from the last 1 day
  • Pagination: If no next_page is provided, returns the first page of results
  • Sorting: Defaults to sorting by id in ascending order
  • Page Size: Defaults to 10 results per page (max 100)

Example Implementation

Authorizations

X-API-KEY
string
header
required

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

List threats request body

Defaults to getting all threats in the last 1 day.

You can also choose a startDate and endDate for the range of threat updates, most timestamp formats should work, we use Luxon for parsing the dates.

query
string

Search query to filter threats by content

startDate
string

The start date to list threats from. This should be in the format YYYY-MM-DD and is inclusive.

endDate
string

The end date to list threats to. This should be in the format YYYY-MM-DD and is inclusive.

assetType
enum<string>[]

Filter by asset types

Available options:
URL,
PAGE,
ADDRESS,
DISCORD,
LINKEDIN,
TWITTER,
FACEBOOK,
YOUTUBE,
REDDIT,
TELEGRAM,
GOOGLE_APP_STORE,
APPLE_APP_STORE,
AMAZON_APP_STORE,
MICROSOFT_APP_STORE,
TIKTOK,
INSTAGRAM,
THREADS,
MEDIUM,
CHROME_WEB_STORE,
MOZILLA_ADDONS,
OPERA_ADDONS,
EMAIL,
PATREON,
OPENSEA,
FARCASTER,
IPFS,
GOOGLE_FORM,
WHATSAPP,
DISCORD_USER,
QUORA,
GITHUB,
TEACHABLE,
SUBSTACK,
DEBANK,
TAWK_TO,
JOTFORM,
PRIMAL,
BLUESKY,
SNAPCHAT,
DESO,
PINTEREST,
FLICKR,
GALXE,
VELOG,
NPM,
PYPI,
HEX,
DOCKER_HUB,
VOCAL_MEDIA,
TECKFINE,
TENDERLY,
HACKMD,
ETSY,
ZAZZLE,
BASENAME,
BILIBILI_TV,
VIMEO,
DAILYMOTION,
PHONE_NUMBER,
SLACK,
CALENDLY,
NGROK,
RARIBLE,
RUST_PACKAGE,
FLATHUB,
VIDLII,
VEVIOZ,
ISSUU,
SOUNDCLOUD,
ZAPPER,
REDNOTE,
SAMSUNG_APP_STORE,
HUAWEI_APP_STORE,
XIAOMI_APP_STORE,
TENCENT_APP_STORE,
OPPO_APP_STORE,
VIVO_APP_STORE,
F_DROID,
GOOGLE_AD,
BING_AD,
TWITCH,
BEHANCE,
ZORA,
META_AD,
SIGNAL,
DEVIANTART,
BANDCAMP,
ARCHIVE_ORG,
FIVE_HUNDRED_PX,
LUMA,
SMARTMONEYMATCH,
APK_GOLD
sorting
object[]

Sorting configuration

per_page
integer
default:10

The number of threats to return per page

Required range: 1 <= x <= 100
next_page
string | null

Cursor for fetching the next page of results

Response

Successful response

Successful operation

threats
object[]
required
next_page
string | null

Cursor for fetching the next page of results