Skip to main content
POST
Get reports for an organization
This endpoint is deprecated. Please use the new RESTful endpoint GET /organization/reports instead. This endpoint will be removed in a future version.

Quick Start

Authentication

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

Pagination

Make sure to use the limit and cursor parameters to paginate through the results.

Filtering

Dates

When filtering by dates you need to provide both the startDate and endDate parameters.

Only Rejected

You can filter for only reports with a rejected proposals by setting the onlyRejected parameter to true. The reports returned will have proposals inside, however not all proposals will be rejected, as a report can have multiple proposals inside, and some may be rejected while others are approved. So you need to look through the data if you want only rejected proposals.

Filter by reporter or reviewer

Use reporterKind and reviewerKind to filter reports by whether the submitter (reporter) or the reviewer that approved the report was a human user or ChainPatrol Automation. Each parameter accepts one of:
  • "human" — only reports submitted or approved by a human user.
  • "automation" — only reports submitted or approved by ChainPatrol Automation.
reviewerKind matches the reviewer on the approving decision, so it only affects reports that have an approved proposal. Use these filters when you want to measure or export automation performance separately from human-submitted or human-approved reports.
The older excludeAutomation boolean is now deprecated. It is preserved as a backward-compatible alias for reporterKind: "human" — setting excludeAutomation: true filters to human reporters when reporterKind is not set. Prefer reporterKind in new integrations.

Filter to reports waiting on customer approval

Set needsCustomerReview to true to return only reports the organization still has to action, or false to return only reports that are not waiting on them. This is the same queue the organization’s Review page shows, so use it to power a “reports needing your review” dashboard or export. A report counts when it has at least one pending proposal that is the organization’s to action:
  • A proposal that ChainPatrol staff escalated to the organization and the organization has not answered yet, or
  • Any pending proposal on a report the organization submitted itself.
Obligatory Organization Admin Approval does not widen this filter. That setting says an asset type will eventually need admin sign-off, not that every pending proposal is waiting on the admin right now — an untriaged proposal is still ChainPatrol’s to review, and only reaches the organization once staff escalate it.

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
slug
string
required
limit
number
required
Required range: 1 <= x <= 20
cursor
number | null
status
enum<string>
Available options:
TODO,
IN_PROGRESS,
CLOSED
searchQuery
string
reporterQuery
string
excludeAutomation
boolean
default:false
reporterKind
enum<string>
Available options:
human,
automation
reviewerKind
enum<string>
Available options:
human,
automation
onlyRejected
boolean
default:false
onlyFavorited
boolean
default:false
reviewStatuses
enum<string>[]
Available options:
APPROVE,
REJECT,
SKIP,
ESCALATE
assetTypes
enum<string>[]
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
reviewedByUserId
number | null
startDate
string
endDate
string
updatedAtStartDate
string
updatedAtEndDate
string
brandIds
number[]
reportedByCustomer
boolean
countryCodes
string[]
Required string length: 2
registrars
string[]
hasMxRecords
boolean
sources
enum<string>[]
Available options:
APP,
API,
CANARY_TOKEN,
AUTO_DETECTION,
ASSET_MANAGEMENT
needsCustomerReview
boolean

Filter to reports waiting on the organization's own approval — the same queue the Review page shows a customer admin. true returns only reports with at least one pending proposal that is the customer's to action; false returns only reports that are not. A pending proposal counts when ChainPatrol staff escalated it to the customer and the customer has not answered yet, or when the organization submitted the report itself. Obligatory Organization Admin Approval does not widen this: an untriaged proposal is still waiting on ChainPatrol review, and reaches the customer only once staff escalate it.

Response

Successful response

reports
object[]
required
nextCursor
number | null
required
totalCount
number
required