Blockaid external api integrations API

The external api integrations API from Blockaid — 2 operation(s) for external api integrations.

OpenAPI Specification

blockaid-external-api-integrations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Blockaid Asset Management external api integrations 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: external api integrations
paths:
  /v0/platform/integrations/search:
    post:
      tags:
      - external api integrations
      summary: Search Integrations
      operationId: search_integrations_v0_platform_integrations_search_post
      parameters: []
      security:
      - APIKey: []
      - JWT: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationSearchRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page_Annotated_Union_FireblocksIntegration__SlackIntegration__FordefiIntegration__TelegramIntegration__ResponseWalletIntegration___FieldInfo_annotation_NoneType__required_True__discriminator__type____'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v0/platform/integrations/{integration_instance_id}/resources:
    get:
      tags:
      - external api integrations
      summary: Get Integration Resources
      operationId: get_integration_resources_v0_platform_integrations__integration_instance_id__resources_get
      parameters:
      - name: integration_instance_id
        in: path
        required: true
        schema:
          type: string
          description: The integration instance ID
          title: Integration Instance Id
        description: The integration instance ID
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
      - name: size
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Size
      security:
      - APIKey: []
      - JWT: []
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/VaultsResourceResponse'
                - $ref: '#/components/schemas/SlackResourceResponse'
                - $ref: '#/components/schemas/TelegramResourceResponse'
                - $ref: '#/components/schemas/ResponseWalletChainResourceResponse'
                discriminator:
                  propertyName: type
                  mapping:
                    vaults_resource: '#/components/schemas/VaultsResourceResponse'
                    slack_resource: '#/components/schemas/SlackResourceResponse'
                    telegram_resource: '#/components/schemas/TelegramResourceResponse'
                    response_wallet_chains_resource: '#/components/schemas/ResponseWalletChainResourceResponse'
                title: Response Get Integration Resources V0 Platform Integrations  Integration Instance Id  Resources Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ExternalIntegrationType:
      type: string
      enum:
      - fireblocks
      - fordefi
      - slack
      - telegram
      - response_wallet
      title: ExternalIntegrationType
      description: Type of external platform integration (Fireblocks, Fordefi, Slack, Telegram, or response wallet).
    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
    ? Page_Annotated_Union_FireblocksIntegration__SlackIntegration__FordefiIntegration__TelegramIntegration__ResponseWalletIntegration___FieldInfo_annotation_NoneType__required_True__discriminator__type____
    : description: Paginated response containing a list of integrations (Fireblocks, Fordefi, Slack, Telegram, or response wallet).
      properties:
        items:
          items:
            oneOf:
            - $ref: '#/components/schemas/FireblocksIntegration'
            - $ref: '#/components/schemas/SlackIntegration'
            - $ref: '#/components/schemas/FordefiIntegration'
            - $ref: '#/components/schemas/TelegramIntegration'
            - $ref: '#/components/schemas/ResponseWalletIntegration'
            discriminator:
              propertyName: type
              mapping:
                fireblocks: '#/components/schemas/FireblocksIntegration'
                fordefi: '#/components/schemas/FordefiIntegration'
                response_wallet: '#/components/schemas/ResponseWalletIntegration'
                slack: '#/components/schemas/SlackIntegration'
                telegram: '#/components/schemas/TelegramIntegration'
          type: array
          title: Items
        total:
          anyOf:
          - type: integer
            minimum: 0
          - type: 'null'
          title: Total
        page:
          anyOf:
          - type: integer
            minimum: 1
          - type: 'null'
          title: Page
        size:
          anyOf:
          - type: integer
            minimum: 1
          - type: 'null'
          title: Size
        pages:
          anyOf:
          - type: integer
            minimum: 0
          - type: 'null'
          title: Pages
      type: object
      required:
      - items
      - total
      - page
      - size
      title: Page[Annotated[Union[FireblocksIntegration, SlackIntegration, FordefiIntegration, TelegramIntegration, ResponseWalletIntegration], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
    SlackChannel:
      properties:
        name:
          type: string
          title: Name
      type: object
      required:
      - name
      title: SlackChannel
    TelegramChannel:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
      type: object
      required:
      - id
      - name
      title: TelegramChannel
    AddressDetails:
      properties:
        address:
          type: string
          title: Address
        chain:
          type: string
          title: Chain
      type: object
      required:
      - address
      - chain
      title: AddressDetails
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    IntegrationFilterRequest:
      description: Optional filters for integration search (type and/or name).
      properties:
        type:
          anyOf:
          - items:
              $ref: '#/components/schemas/ExternalIntegrationType'
            type: array
          - type: 'null'
          title: Type
          default:
          - fireblocks
          - fordefi
          - slack
          - telegram
          - response_wallet
        name:
          anyOf:
          - $ref: '#/components/schemas/IntegrationNameFilter'
          - type: 'null'
      type: object
      title: IntegrationFilterRequest
    IntegrationNameFilter:
      properties:
        contains:
          anyOf:
          - type: string
          - type: 'null'
          title: Contains
      type: object
      title: IntegrationNameFilter
    IntegrationSortField:
      type: string
      enum:
      - created_at
      - name
      - type
      title: IntegrationSortField
    ResponseWalletChainStatus:
      type: string
      enum:
      - active
      - low_funds
      title: ResponseWalletChainStatus
    IntegrationSortRequest:
      description: Sort specification (field and direction) for integration search.
      properties:
        field:
          $ref: '#/components/schemas/IntegrationSortField'
        operator:
          $ref: '#/components/schemas/IntegrationSortOperator'
      type: object
      required:
      - field
      - operator
      title: IntegrationSortRequest
    FordefiIntegration:
      description: Fordefi integration instance (MPC wallet provider).
      properties:
        type:
          type: string
          enum:
          - fordefi
          const: fordefi
          title: Type
          default: fordefi
        integrationInstanceId:
          type: string
          title: Integrationinstanceid
        name:
          type: string
          title: Name
      type: object
      required:
      - integrationInstanceId
      - name
      title: FordefiIntegration
    VaultError:
      properties:
        vault_id:
          type: string
          title: Vault Id
        error:
          type: string
          title: Error
      type: object
      required:
      - vault_id
      - error
      title: VaultError
    TelegramIntegration:
      description: Telegram integration instance.
      properties:
        type:
          type: string
          enum:
          - telegram
          const: telegram
          title: Type
          default: telegram
        integrationInstanceId:
          type: string
          title: Integrationinstanceid
      type: object
      required:
      - integrationInstanceId
      title: TelegramIntegration
    ResponseWalletChainResourceResponse:
      description: Paginated response containing wallet chain balances and status per chain.
      properties:
        type:
          type: string
          enum:
          - response_wallet_chains_resource
          const: response_wallet_chains_resource
          title: Type
          default: response_wallet_chains_resource
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        pages:
          type: integer
          title: Pages
        size:
          type: integer
          title: Size
        items:
          items:
            $ref: '#/components/schemas/ResponseWalletChain'
          type: array
          title: Items
      type: object
      required:
      - total
      - page
      - pages
      - size
      - items
      title: ResponseWalletChainResourceResponse
    IntegrationSearchRequest:
      description: Request body for searching integrations (pagination, sort, and optional filter).
      properties:
        pageSize:
          type: integer
          maximum: 1000
          minimum: 1
          title: Pagesize
          default: 50
        page:
          type: integer
          minimum: 1
          title: Page
          default: 1
        sort:
          anyOf:
          - items:
              $ref: '#/components/schemas/IntegrationSortRequest'
            type: array
          - type: 'null'
          title: Sort
        filter:
          anyOf:
          - $ref: '#/components/schemas/IntegrationFilterRequest'
          - type: 'null'
      type: object
      title: IntegrationSearchRequest
    ResponseWalletIntegration:
      description: Response wallet integration (generic wallet type).
      properties:
        type:
          type: string
          enum:
          - response_wallet
          const: response_wallet
          title: Type
          default: response_wallet
        integrationInstanceId:
          type: string
          title: Integrationinstanceid
        name:
          type: string
          title: Name
          description: Display name of the response wallet
        address:
          type: string
          title: Address
          description: The blockchain address of the response wallet
      type: object
      required:
      - integrationInstanceId
      - name
      - address
      title: ResponseWalletIntegration
    ResponseWalletChain:
      properties:
        chain:
          type: string
          title: Chain
        nativeBalanceUsd:
          type: number
          title: Nativebalanceusd
          description: Native token balance in USD
          default: 0
        totalBalanceUsd:
          type: number
          title: Totalbalanceusd
          description: Total balance across all assets in USD
          default: 0
        status:
          allOf:
          - $ref: '#/components/schemas/ResponseWalletChainStatus'
          description: Health status of wallet on this chain
      type: object
      required:
      - chain
      - status
      title: ResponseWalletChain
    VaultDetails:
      properties:
        vault_id:
          type: string
          title: Vault Id
        name:
          type: string
          title: Name
        addresses:
          items:
            $ref: '#/components/schemas/AddressDetails'
          type: array
          title: Addresses
      type: object
      required:
      - vault_id
      - name
      - addresses
      title: VaultDetails
    IntegrationSortOperator:
      type: string
      enum:
      - asc
      - desc
      title: IntegrationSortOperator
    VaultsResourceResponse:
      description: Paginated response containing vault details or errors (e.g. for Fireblocks/Fordefi).
      properties:
        type:
          type: string
          enum:
          - vaults_resource
          const: vaults_resource
          title: Type
          default: vaults_resource
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        pages:
          type: integer
          title: Pages
        size:
          type: integer
          title: Size
        items:
          items:
            anyOf:
            - $ref: '#/components/schemas/VaultDetails'
            - $ref: '#/components/schemas/VaultError'
          type: array
          title: Items
      type: object
      required:
      - total
      - page
      - pages
      - size
      - items
      title: VaultsResourceResponse
    FireblocksIntegration:
      description: Fireblocks integration instance (vaults provider).
      properties:
        type:
          type: string
          enum:
          - fireblocks
          const: fireblocks
          title: Type
          default: fireblocks
        integrationInstanceId:
          type: string
          title: Integrationinstanceid
        name:
          type: string
          title: Name
      type: object
      required:
      - integrationInstanceId
      - name
      title: FireblocksIntegration
    TelegramResourceResponse:
      description: Paginated response containing Telegram channels for an integration.
      properties:
        type:
          type: string
          enum:
          - telegram_resource
          const: telegram_resource
          title: Type
          default: telegram_resource
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        pages:
          type: integer
          title: Pages
        size:
          type: integer
          title: Size
        items:
          items:
            $ref: '#/components/schemas/TelegramChannel'
          type: array
          title: Items
      type: object
      required:
      - total
      - page
      - pages
      - size
      - items
      title: TelegramResourceResponse
    SlackWorkspace:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
      type: object
      required:
      - id
      - name
      title: SlackWorkspace
    SlackResourceResponse:
      description: Paginated response containing Slack channels for an integration.
      properties:
        type:
          type: string
          enum:
          - slack_resource
          const: slack_resource
          title: Type
          default: slack_resource
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        pages:
          type: integer
          title: Pages
        size:
          type: integer
          title: Size
        items:
          items:
            $ref: '#/components/schemas/SlackChannel'
          type: array
          title: Items
      type: object
      required:
      - total
      - page
      - pages
      - size
      - items
      title: SlackResourceResponse
    SlackIntegration:
      description: Slack integration instance (workspace and channels).
      properties:
        type:
          type: string
          enum:
          - slack
          const: slack
          title: Type
          default: slack
        integrationInstanceId:
          type: string
          title: Integrationinstanceid
        workspace:
          $ref: '#/components/schemas/SlackWorkspace'
      type: object
      required:
      - integrationInstanceId
      - workspace
      title: SlackIntegration
  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.