Skip to main content
POST
Get organization takedown success rate by asset type

Overview

Get the share of your organization’s takedowns that ended in a removal, broken down by asset type, for a date range. Use this endpoint to see how often a filed takedown actually results in the threat coming down, and which asset types resolve most reliably.
This endpoint is gated behind the takedown-success-rate feature flag on a per-organization basis. If the flag is not enabled for your organization, the API returns a 403 Forbidden error. Contact ChainPatrol to enable access. The same flag controls the Takedown Success Rate chart on the dashboard Metrics page.

How takedowns are counted

  • First-filing cohort — A takedown enters the cohort based on when it was first submitted to a provider. The date range filters on that first filing, not on when the takedown was opened or completed. This is different from the takedown-time metrics, which key on completion.
  • Never-filed takedowns are excluded — Takedowns that were opened but never submitted to a provider do not count toward the denominator. The metric answers “when a takedown is filed, does the threat come down?”, so internal triage decisions are left out.
  • Re-filed takedowns stay in their original window — Because the cohort keys on the first filing, a takedown that is filed again later cannot drift between reporting periods.
  • Outcomes are read as of now — The date range bounds the filing, but each takedown’s current status determines the outcome. A recent cohort can read low simply because its cases have not had time to resolve. Use stillOpen to see how much of the denominator is unfinished rather than failed.

Response fields

Each entry in byAssetType covers one asset type, sorted descending by submitted. Asset types use the same enum names as the rest of the v2 API (for example GOOGLE_FORM).
  • submitted — takedowns whose first provider filing fell in the range.
  • completed — of those, how many ended in a completed takedown.
  • stillOpen — of those, how many have not yet reached an outcome.
  • successRatecompleted / submitted, from 0 to 1. Still-open takedowns count against this rate.
  • resolvedSuccessRatecompleted / (submitted - stillOpen), from 0 to 1, or null when nothing in the group has resolved yet. This rate only considers takedowns that reached an outcome, so it is higher than successRate whenever work is still outstanding.

Date handling

  • startDate and endDate are both optional. Omit them to include every takedown ever filed.
  • Date-only values (YYYY-MM-DD) are interpreted in UTC. startDate begins at midnight UTC and endDate covers the whole day (through 23:59:59.999 UTC). Pass a full ISO 8601 timestamp for a precise cut-off.

Filtering

The optional filters match the other takedown metrics endpoints:
  • blockLabel — only include assets blocked with this review label, for example "Brand Impersonation".
  • brandType — only include assets belonging to brands of this type (INDIVIDUAL, ORGANIZATION, or PRODUCT).
  • countryCodes — only include assets scanned from these ISO 3166-1 alpha-2 countries.
  • brandIds — only include assets belonging to these brands.

Example request

Example response

Using the JavaScript SDK

The ChainPatrol JavaScript SDK exposes this endpoint as getMetricsTakedownSuccessRate. The SDK accepts date-only strings and widens a date-only endDate to cover the full UTC day before sending the request.

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

Organization slug

Minimum string length: 1
startDate
string

Only include takedowns first submitted to a provider on or after this date. A date-only value (YYYY-MM-DD) starts at midnight UTC

endDate
string

Only include takedowns first submitted to a provider on or before this date. A date-only value (YYYY-MM-DD) covers the whole day in UTC; pass a full timestamp for a precise cut-off

blockLabel
string

Only include assets blocked with this review label, e.g. "Brand Impersonation", "Employee Impersonation" or "Targeting Org Users"

brandType
enum<string>

Only include assets belonging to brands of this type

Available options:
INDIVIDUAL,
ORGANIZATION,
PRODUCT
countryCodes
string[]

Only include assets scanned from these ISO 3166-1 alpha-2 countries

Required string length: 2
brandIds
integer[]

Only include assets belonging to these brands

Required range: x > 0

Response

Successful response

byAssetType
object[]
required

Takedown success rate, one entry per asset type, descending by number submitted