> ## Documentation Index
> Fetch the complete documentation index at: https://chainpatrol.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Asset Search

> Search for an asset by content or ID and get its status, associated reports, and takedown details

## Overview

The Asset Search endpoint returns a single result with four main parts:

* **asset** - The matched asset: its `id`, `content`, `type`, `status`, `watchStatus`, and timestamps (`createdAt`, `updatedAt`).
* **reports** - List of reports linked to the asset, each with `id`, `title`, `status`, and `createdAt`.
* **takedown** - Takedown metadata (`id`, `status`, timestamps) plus a **tasks** array. Each task has `type`, `status`, `retractionStatus`, the associated `takedownProvider` name, submission/retraction timestamps, and an optional `externalId` for the provider's tracking ID. [Learn more about takedown tasks](../general/concepts#takedown-tasks).
* **blockedBy** - List of platforms currently consuming (blocking) the asset. Each entry has a `consumer` slug (e.g. `metamask`, `google-safe-browsing`, `quad9`), the platform's display `name`, and a `consumedAt` timestamp indicating when the platform started blocking the asset.

## Quick Start

### Authentication

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

```bash theme={null}
X-API-KEY: <api-key>
```


## OpenAPI

````yaml POST /asset/search
openapi: 3.0.3
info:
  title: ChainPatrol External API - OpenAPI 3.0
  description: ChainPatrol External API documentation
  version: 2.0.0
servers:
  - url: https://app.chainpatrol.io/api/v2
security: []
tags:
  - name: asset
  - name: report
externalDocs:
  url: https://chainpatrol.com/docs
paths:
  /asset/search:
    post:
      tags:
        - asset
      summary: Search asset
      description: >-
        Search for an asset by content or ID and get its status, associated
        reports, and takedown details
      operationId: assetSearch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  description: Asset content to search for (URL, domain, address, etc.)
                assetId:
                  type: integer
                  description: Asset ID to search for
                assetIds:
                  type: array
                  items:
                    type: integer
                  description: Multiple asset IDs to search for in bulk
              description: Asset search request body
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  asset:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: number
                      content:
                        type: string
                      type:
                        type: string
                        enum:
                          - 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
                      status:
                        type: string
                        enum:
                          - UNKNOWN
                          - ALLOWED
                          - BLOCKED
                      watchStatus:
                        type: string
                        enum:
                          - ENABLED
                          - DISABLED
                      livenessStatus:
                        type: string
                        nullable: true
                        enum:
                          - UNKNOWN
                          - ALIVE
                          - DEAD
                          - null
                      blockedAt:
                        type: string
                        nullable: true
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                      - id
                      - content
                      - type
                      - status
                      - watchStatus
                      - livenessStatus
                      - blockedAt
                      - createdAt
                      - updatedAt
                  reports:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                        title:
                          type: string
                          nullable: true
                        status:
                          type: string
                          enum:
                            - TODO
                            - IN_PROGRESS
                            - CLOSED
                        createdAt:
                          type: string
                      required:
                        - id
                        - title
                        - status
                        - createdAt
                  takedown:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: number
                      status:
                        type: string
                        enum:
                          - TODO
                          - IN_PROGRESS
                          - COMPLETED
                          - CANCELLED
                          - PENDING_RETRACTION
                          - RETRACTION_SENT
                          - RETRACTED
                          - PENDING_INPUT
                          - PENDING_EVIDENCE
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                      tasks:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            type:
                              type: string
                              enum:
                                - HOSTING_PROVIDER
                                - DOMAIN_REGISTRAR
                                - TLD_REGISTRAR
                                - TWITTER
                                - MEDIUM_EMAIL
                                - MEDIUM_UI
                                - TELEGRAM_UI
                                - TELEGRAM_EMAIL
                                - NET_BEACON
                                - GOOGLE_ADS
                                - GOOGLE_APP_STORE
                            status:
                              type: string
                              enum:
                                - TODO
                                - SUBMITTED
                                - APPROVED
                                - REJECTED
                                - STALE
                                - CANCELLED
                                - PENDING_INPUT
                            retractionStatus:
                              type: string
                              enum:
                                - NOT_RETRACTED
                                - RETRACTION_PENDING
                                - RETRACTION_SENT
                                - RETRACTION_CONFIRMED
                                - RETRACTION_REJECTED
                                - RETRACTION_NOT_NEEDED
                            externalId:
                              type: string
                              nullable: true
                            submittedAt:
                              type: string
                              nullable: true
                            retractedAt:
                              type: string
                              nullable: true
                            lastResponseAt:
                              type: string
                              nullable: true
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                            takedownProvider:
                              type: object
                              nullable: true
                              properties:
                                name:
                                  type: string
                              required:
                                - name
                          required:
                            - id
                            - type
                            - status
                            - retractionStatus
                            - externalId
                            - submittedAt
                            - retractedAt
                            - lastResponseAt
                            - createdAt
                            - updatedAt
                            - takedownProvider
                    required:
                      - id
                      - status
                      - createdAt
                      - updatedAt
                      - tasks
                  blockedBy:
                    type: array
                    items:
                      type: object
                      properties:
                        consumer:
                          type: string
                          description: Organization slug of the consuming platform
                        name:
                          type: string
                          nullable: true
                          description: Display name of the consuming organization
                        consumedAt:
                          type: string
                          description: When the asset was consumed by this platform
                      required:
                        - consumer
                        - name
                        - consumedAt
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        asset:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: number
                            content:
                              type: string
                            type:
                              type: string
                              enum:
                                - 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
                            status:
                              type: string
                              enum:
                                - UNKNOWN
                                - ALLOWED
                                - BLOCKED
                            watchStatus:
                              type: string
                              enum:
                                - ENABLED
                                - DISABLED
                            livenessStatus:
                              type: string
                              nullable: true
                              enum:
                                - UNKNOWN
                                - ALIVE
                                - DEAD
                                - null
                            blockedAt:
                              type: string
                              nullable: true
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - content
                            - type
                            - status
                            - watchStatus
                            - livenessStatus
                            - blockedAt
                            - createdAt
                            - updatedAt
                        reports:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                              title:
                                type: string
                                nullable: true
                              status:
                                type: string
                                enum:
                                  - TODO
                                  - IN_PROGRESS
                                  - CLOSED
                              createdAt:
                                type: string
                            required:
                              - id
                              - title
                              - status
                              - createdAt
                        takedown:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: number
                            status:
                              type: string
                              enum:
                                - TODO
                                - IN_PROGRESS
                                - COMPLETED
                                - CANCELLED
                                - PENDING_RETRACTION
                                - RETRACTION_SENT
                                - RETRACTED
                                - PENDING_INPUT
                                - PENDING_EVIDENCE
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                            tasks:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: number
                                  type:
                                    type: string
                                    enum:
                                      - HOSTING_PROVIDER
                                      - DOMAIN_REGISTRAR
                                      - TLD_REGISTRAR
                                      - TWITTER
                                      - MEDIUM_EMAIL
                                      - MEDIUM_UI
                                      - TELEGRAM_UI
                                      - TELEGRAM_EMAIL
                                      - NET_BEACON
                                      - GOOGLE_ADS
                                      - GOOGLE_APP_STORE
                                  status:
                                    type: string
                                    enum:
                                      - TODO
                                      - SUBMITTED
                                      - APPROVED
                                      - REJECTED
                                      - STALE
                                      - CANCELLED
                                      - PENDING_INPUT
                                  retractionStatus:
                                    type: string
                                    enum:
                                      - NOT_RETRACTED
                                      - RETRACTION_PENDING
                                      - RETRACTION_SENT
                                      - RETRACTION_CONFIRMED
                                      - RETRACTION_REJECTED
                                      - RETRACTION_NOT_NEEDED
                                  externalId:
                                    type: string
                                    nullable: true
                                  submittedAt:
                                    type: string
                                    nullable: true
                                  retractedAt:
                                    type: string
                                    nullable: true
                                  lastResponseAt:
                                    type: string
                                    nullable: true
                                  createdAt:
                                    type: string
                                  updatedAt:
                                    type: string
                                  takedownProvider:
                                    type: object
                                    nullable: true
                                    properties:
                                      name:
                                        type: string
                                    required:
                                      - name
                                required:
                                  - id
                                  - type
                                  - status
                                  - retractionStatus
                                  - externalId
                                  - submittedAt
                                  - retractedAt
                                  - lastResponseAt
                                  - createdAt
                                  - updatedAt
                                  - takedownProvider
                          required:
                            - id
                            - status
                            - createdAt
                            - updatedAt
                            - tasks
                        blockedBy:
                          type: array
                          items:
                            type: object
                            properties:
                              consumer:
                                type: string
                                description: Organization slug of the consuming platform
                              name:
                                type: string
                                nullable: true
                                description: Display name of the consuming organization
                              consumedAt:
                                type: string
                                description: When the asset was consumed by this platform
                            required:
                              - consumer
                              - name
                              - consumedAt
                      required:
                        - asset
                        - reports
                        - takedown
                        - blockedBy
                required:
                  - asset
                  - reports
                  - takedown
                  - blockedBy
                description: Asset search response body
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - ApiKey: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Your API key. This is required by most endpoints to access our API
        programatically. Reach out to us at
        [support@chainpatrol.io](mailto:support@chainpatrol.io?subject=Re:%20API%20Key%20for%20SDK&body=Company:%20%0AName:%20%0APurpose:%20)
        to get an API key for your use.

````