Blockaid Report API

The Report API from Blockaid — 3 operation(s) for report.

OpenAPI Specification

blockaid-report-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Blockaid Asset Management Report API
  description: Blockaid Risk Score API
  termsOfService: https://www.blockaid.io/legal/terms-of-use
  license:
    name: Proprietary
    url: https://www.blockaid.io/legal
  version: 1.0.0
servers:
- url: https://api.blockaid.io
  description: Production server
- url: https://client.blockaid.io
  description: Clients server
tags:
- name: Report
paths:
  /v0/scan/report:
    post:
      tags:
      - Report
      summary: Report
      description: Report a misclassification of any entity (transaction, address, site, token, etc.) using a request ID from a previous scan.
      operationId: generic-report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericReportRequest'
            examples:
              Report with request_id:
                summary: Report with request_id
                value:
                  event: FALSE_POSITIVE
                  request_id: 11111111-1111-1111-1111-111111111111
                  details: Details about the report
                  metadata:
                    domain: https://app.uniswap.org
                    account:
                      account_id: user-abc-123
                      account_creation_timestamp: '2023-01-15T00:00:00Z'
                      user_age: 30
                      user_country_code: US
                    connection:
                      ip_address: 192.168.1.1
                      user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
  /tx/v0/report:
    post:
      tags:
      - Report
      summary: Report transaction
      description: Report a transaction
      operationId: report-transaction
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportTxRequest'
            examples:
              Example Report:
                summary: Example Report
                value:
                  domain: example.org
                  jsonRpcMethod: SetApprovalForAll
                  jsonRpcParams: '{"from": "0x0000000000000000000000000000000000000000", "to": "0x0000000000000000000000000000000000000000", "value": "0x0"}'
                  chain: ethereum
                  blockNumber: '19624900'
                  classification: approval_farming
                  resultType: Malicious
                  features: '["The contract 0x0000000000000000000000000000000000000000 involved in the transaction is unverified"]'
                  details: This transaction is incorrect because of ...
                  reporter: my_name@example.org
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - APIKey: []
      - ClientID: []
  /dapp/v1/report:
    post:
      tags:
      - Report
      summary: Report site
      description: Report a misclassification of a site.
      operationId: report-site
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportSiteRequest'
            examples:
              request example:
                summary: Request Example
                value:
                  url: www.malicious-example.com
                  classification: Malicious
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - APIKey: []
      - ClientID: []
components:
  schemas:
    ReportTxRequest:
      properties:
        domain:
          type: string
          title: Domain
        jsonRpcMethod:
          type: string
          title: Jsonrpcmethod
        jsonRpcParams:
          type: string
          title: Jsonrpcparams
        chain:
          $ref: '#/components/schemas/TransactionScanSupportedChains'
        blockNumber:
          type: string
          title: Blocknumber
        classification:
          type: string
          title: Classification
        resultType:
          type: string
          title: Resulttype
        features:
          type: string
          title: Features
        details:
          type: string
          title: Details
        reporter:
          type: string
          title: Reporter
      type: object
      required:
      - jsonRpcMethod
      - jsonRpcParams
      title: ReportTxRequest
    routers__chain_agnostic__models__request__Account:
      properties:
        account_id:
          type: string
          title: Account Id
          description: Unique identifier for the account.
        account_creation_timestamp:
          type: string
          format: date-time
          title: Account Creation Timestamp
          description: Timestamp when the account was created.
        user_age:
          type: integer
          exclusiveMinimum: 0.0
          title: User Age
          description: Age of the user in years
        user_country_code:
          type: string
          title: User Country Code
          description: ISO country code of the user's location.
        account_addresses:
          items:
            type: string
          type: array
          title: Account Addresses
          description: 'List of all account addresses in different chains based on the CAIPs standard (https://github.com/ChainAgnostic/CAIPs). Ethereum mainnet example: eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb'
      type: object
      required:
      - account_id
      title: Account
    SiteClassification:
      type: string
      enum:
      - Malicious
      - Benign
      title: SiteClassification
      description: Classification result for a scanned URL.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    EventEnum:
      type: string
      enum:
      - FALSE_POSITIVE
      - FALSE_NEGATIVE
      title: EventEnum
    TransactionScanSupportedChains:
      type: string
      enum:
      - arbitrum
      - avalanche
      - base
      - base-sepolia
      - lordchain
      - lordchain-testnet
      - metacade
      - metacade-testnet
      - bsc
      - ethereum
      - optimism
      - polygon
      - zksync
      - zksync-sepolia
      - zora
      - linea
      - blast
      - scroll
      - ethereum-sepolia
      - degen
      - avalanche-fuji
      - gnosis
      - worldchain
      - soneium-minato
      - ronin
      - apechain
      - berachain
      - berachain-bartio
      - ink
      - ink-sepolia
      - abstract
      - abstract-testnet
      - soneium
      - unichain
      - sei
      - flow-evm
      - hyperevm
      - megaeth
      - katana
      - plume
      - xlayer
      - monad
      - monad-testnet
      - tempo
      - tempo-testnet
      - kite-ai
      - kaia
      - plasma
      - mantle
      - robinhood
      - arc
      title: TransactionScanSupportedChains
      description: The chain name
    ReportSiteRequest:
      properties:
        url:
          type: string
          title: Url
        classification:
          $ref: '#/components/schemas/SiteClassification'
      type: object
      required:
      - url
      - classification
      title: ReportSiteRequest
    routers__chain_agnostic__models__request__Connection:
      properties:
        user_agent:
          type: string
          title: User Agent
          description: User agent string from the client's browser or application.
        ip_address:
          type: string
          format: ipvanyaddress
          title: Ip Address
          description: IP address of the customer making the request. Both IPv4 and IPv6 addresses are supported.
        origin:
          type: string
          minLength: 1
          format: uri
          title: Origin
          description: The full URL of the website that the request was directed to.
        walletconnect_name:
          type: string
          title: Walletconnect Name
          description: WalletConnect session name, when the request originates from a WalletConnect session.
        walletconnect_description:
          type: string
          title: Walletconnect Description
          description: WalletConnect session description, when the request originates from a WalletConnect session.
      type: object
      required:
      - ip_address
      title: Connection
    ScanRequestMetadata:
      properties:
        domain:
          type: string
          title: Domain
          description: The full URL of the DApp or website that initiated the request, for cross-reference. Must use the https or http scheme and contain a valid hostname. Cannot contain JSON, braces, or other embedded data structures.
        non_dapp:
          type: boolean
          title: Non Dapp
          description: Set to true when the request was not initiated by a dapp. Dapp requests should provide the `domain` field.
        account:
          allOf:
          - $ref: '#/components/schemas/routers__chain_agnostic__models__request__Account'
          title: Account
          description: End-user account context (id, age, country, creation time, and account_addresses).
        connection:
          allOf:
          - $ref: '#/components/schemas/routers__chain_agnostic__models__request__Connection'
          title: Connection
          description: Connection metadata including user agent, IP information, and origin.
      type: object
      title: ScanRequestMetadata
    GenericReportRequest:
      type: object
      required:
      - event
      - request_id
      - details
      - metadata
      title: GenericReportRequest
      properties:
        event:
          allOf:
          - $ref: '#/components/schemas/EventEnum'
          description: The event type of the report. Could be `FALSE_POSITIVE` or `FALSE_NEGATIVE`.
        request_id:
          type: string
          title: Request Id
          description: 'The request ID of a previous scan. This can be found in the value of the `x-request-id` field in the headers of the response of the previous request. For instance: `6c3cf6c1-a80d-4927-91b9-03d841ea61fe`.'
        details:
          type: string
          title: Details
          description: Details about the report.
        metadata:
          allOf:
          - $ref: '#/components/schemas/ScanRequestMetadata'
          title: Metadata
          description: 'Client-side context: the originating dApp domain, end-user account info, and connection details.'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    APIKey:
      type: apiKey
      name: X-API-Key
      in: header
    ClientID:
      type: apiKey
      name: X-CLIENT-ID
      in: header
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer authentication header of the form `Bearer <token>`, where `<token>` is your auth token. See [API Authentication](/docs/api-reference/before-you-begin/api-authentication) for how to retrieve it.