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

# List your liquidation alerts

> GET /v1/alerts lists the liquidation alerts on your account, with where each posts, its filter, delivery state and how many your tier allows.



## OpenAPI

````yaml GET /v1/alerts
openapi: 3.1.0
info:
  title: Ironflow API
  version: 1.0.0
  description: >
    Hyperliquid market data from Ironflow's own nodes: tick-level fills and

    trades, candles, funding rates, liquidations, mark prices, open interest,

    markets and wallet analytics over REST. One schema across native HL perps,

    HIP-3 builder markets, HIP-4 outcome contracts and HL spot.


    **Base URL:** `https://api.ironflow.sh`


    **Authentication:** Read endpoints work without a key (keyless access) or

    with a Bearer token in the `Authorization` header. Writes always need a key.

    ```

    Authorization: Bearer if_your_api_key

    ```

    Get a free key at https://ironflow.sh/key.


    **Access levels:**


    | Access | Requests per minute | History | Max range per request |

    |---|---|---|---|

    | No key | 10 per IP | 24 hours | 1 hour |

    | Free key | 60 | 30 days | 6 hours |

    | Explorer | 100 | 90 days | 24 hours |

    | Builder | 1,000 | 1 year | 7 days |

    | Enterprise | 10,000 | full | unlimited |


    Without a market filter, high-volume endpoints allow at most 4 hours per
    request.

    `/v1/trades` filtered to one perp or spot market allows 24 hours per request

    without a key and on a free key.

    A header that is present but malformed returns 401; keyless access applies
    only

    when no `Authorization` header is sent.


    **Data availability:** fills and trades cover a rolling 12 months; other

    datasets start later (funding 2025-09-27, open interest and mark prices

    2026-04-29).


    **Timestamps:** All timestamps are Unix milliseconds (int64).


    **Pagination:** Paginated endpoints return a `cursor` in
    `pagination.next_cursor`.

    Pass it as the `cursor` query parameter to fetch the next page.

    When `pagination.has_more` is `false`, you have reached the last page.
  contact:
    name: Ironflow Support
    url: https://ironflow.sh
servers:
  - url: https://api.ironflow.sh
    description: Production
security:
  - bearerAuth: []
  - {}
tags:
  - name: Market Data
    description: Historical tick-level market data stored in ClickHouse.
  - name: Analytics
    description: >-
      Aggregated analytics. Net flows and funding stats work without a key; the
      others need a key (a free key works).
  - name: Cohorts
    description: Predefined and custom address groups for filtering market data.
  - name: Alerts
    description: >-
      Liquidation alerts that Ironflow posts to your webhook, Discord channel,
      Slack channel or Telegram chat.
  - name: Info Proxy
    description: >-
      Cached passthrough to the Hyperliquid Info API. No record caps, higher
      rate limits.
  - name: Export
    description: Bulk data export as CSV or Parquet (Builder tier and above).
  - name: Query
    description: >-
      Read-only ClickHouse SQL over curated Hyperliquid tables (hl.*), limited
      by tier.
  - name: System
    description: Health checks and metadata endpoints.
  - name: TradingApp
    description: >-
      Trading app Phase A — wallet auth (SIWE), agent-key provisioning, and
      kill-switch.
paths:
  /v1/alerts:
    get:
      tags:
        - Alerts
      summary: List liquidation alerts
      description: |
        The liquidation alerts on this key's account, with their delivery
        state, and how many the tier allows. Destinations are shown without
        their secret part (a Discord or Slack webhook URL is a credential).
      operationId: listAlerts
      responses:
        '200':
          description: The account's alerts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      $ref: '#/components/schemas/LiquidationAlert'
                  limit:
                    type: integer
                    description: >-
                      Alerts this tier allows: free 1, Explorer 5, Builder 20,
                      Enterprise 100.
                    example: 5
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    LiquidationAlert:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        type:
          type: string
          enum:
            - webhook
            - discord
            - slack
            - telegram
        destination:
          type: string
          description: Host of the URL, without its secret part, or the Telegram chat.
          example: discord.com/…
        markets:
          type: array
          items:
            type: string
          description: 'Empty: every market.'
          example:
            - BTC-PERP
            - ETH-PERP
        side:
          type: string
          enum:
            - any
            - long
            - short
        min_usd:
          type: number
          example: 100000
        address:
          type: string
        status:
          type: string
          enum:
            - active
            - disabled
          description: >-
            disabled after 20 failed deliveries in a row; a delivered test
            re-enables it.
        failures:
          type: integer
          description: Failed deliveries in a row.
        last_error:
          type: string
          example: 'destination answered HTTP 404: Unknown Webhook'
        last_sent_at:
          type: string
          format: date-time
          nullable: true
        sent_count:
          type: integer
          description: Liquidations delivered so far.
        created_at:
          type: string
          format: date-time
        signing_secret:
          type: string
          description: Webhooks only, in the create response only.
          example: whsec_3f9a...
        setup:
          type: string
          description: >-
            Create response only: what to do before the first message arrives
            (Telegram: which bot to add to the chat).
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Machine-readable error code.
              example: RATE_LIMIT_EXCEEDED
            message:
              type: string
              description: Human-readable error description.
              example: Rate limit exceeded. Retry after 60 seconds.
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      headers:
        WWW-Authenticate:
          schema:
            type: string
            example: Bearer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: UNAUTHORIZED
              message: Invalid or missing API key
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Ironflow API key, format `if_xxxx`. Free keys at
        https://ironflow.sh/key. Optional on read endpoints.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.