> ## 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
                assetId:
                  type: integer
      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
                      status:
                        type: string
                        enum:
                          - UNKNOWN
                          - ALLOWED
                          - BLOCKED
                      watchStatus:
                        type: string
                        enum:
                          - ENABLED
                          - DISABLED
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                      - id
                      - content
                      - type
                      - status
                      - watchStatus
                      - 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
                      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
                            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
                        name:
                          type: string
                          nullable: true
                        consumedAt:
                          type: string
                      required:
                        - consumer
                        - name
                        - consumedAt
                required:
                  - asset
                  - reports
                  - takedown
                  - blockedBy
        '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.

````