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

# WebhookEventType Schema

> One entry in the served webhook event catalog. Includes generated fields, route metadata, response shapes, and implementation-safe 0xArchive contract details.

Source OpenAPI: 0xArchive API 1.7.0; 218 paths; 210 component schemas.

One entry in the served webhook event catalog. Subscriptions are validated against this declaration, so it is the authority on the filters, parameters and metrics an event type accepts.

## Required Fields

| Field | Type | Description |
| - | - | - |
| `description` | string | What the event reports and what one occurrence means. |
| `filters` | array\<string> | Filter keys the subscription config accepts for this type. |
| `latency_class` | string | Rough delivery latency for the type, measured from the occurrence to the first delivery attempt. |
| `live` | boolean | True when the type accepts subscriptions. |
| `metrics` | object | Metrics carried by the event, keyed by metric name. |
| `params` | object | Tunable parameters, keyed by parameter name. |
| `schema_version` | integer | Version of the delivered payload shape for this event type. |
| `scope` | string | Who the event is about. |
| `type` | string | Event type identifier. |
| `venues` | array\<string> | Venues the type covers. |

## JSON Schema

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "WebhookEventType",
  "description": "One entry in the served webhook event catalog. Subscriptions are validated against this declaration, so it is the authority on the filters, parameters and metrics an event type accepts.",
  "type": "object",
  "required": [
    "description",
    "filters",
    "latency_class",
    "live",
    "metrics",
    "params",
    "schema_version",
    "scope",
    "type",
    "venues"
  ],
  "properties": {
    "cost_floor": {
      "description": "The smallest occurrence this type reports at all, below which nothing is detected. Null when the type has no floor.",
      "type": "object",
      "nullable": true,
      "properties": {
        "metric": {
          "description": "Metric the floor applies to.",
          "type": "string",
          "example": "notional_usd"
        },
        "min": {
          "description": "Lowest value still reported.",
          "type": "number",
          "example": 100
        }
      }
    },
    "description": {
      "description": "What the event reports and what one occurrence means.",
      "type": "string",
      "example": "A liquidation on a covered venue."
    },
    "filters": {
      "description": "Filter keys the subscription config accepts for this type. A key that is not listed here is refused rather than ignored.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "venue",
        "symbols"
      ]
    },
    "filters_example": {
      "description": "A worked example of a config for this type.",
      "type": "object",
      "additionalProperties": true
    },
    "latency_class": {
      "description": "Rough delivery latency for the type, measured from the occurrence to the first delivery attempt.",
      "type": "string",
      "enum": [
        "seconds",
        "minutes"
      ],
      "example": "seconds"
    },
    "live": {
      "description": "True when the type accepts subscriptions. A type that is published but not yet live is refused at create time.",
      "type": "boolean",
      "example": true
    },
    "metrics": {
      "description": "Metrics carried by the event, keyed by metric name. A condition may only reference a metric declared here.",
      "type": "object",
      "additionalProperties": {
        "description": "A metric an event carries, and therefore a metric a subscription condition may be written against.",
        "type": "object",
        "properties": {
          "description": {
            "description": "What the metric measures, including when it is null.",
            "type": "string"
          },
          "type": {
            "description": "Value type of the metric. It decides which operators a condition on this metric may use.",
            "type": "string",
            "enum": [
              "number",
              "integer",
              "string",
              "boolean",
              "timestamp"
            ],
            "example": "number"
          },
          "unit": {
            "description": "Unit the metric is expressed in, when it has one.",
            "type": "string",
            "example": "USD"
          },
          "values": {
            "description": "Accepted values, when the metric is a fixed choice. Conditions are checked against this list.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "operators": {
      "description": "Operator vocabulary grouped by metric type, plus the `any` group that applies to every metric. A condition on a metric may use the operators of that metric's type or of the `any` group.",
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "params": {
      "description": "Tunable parameters, keyed by parameter name.",
      "type": "object",
      "additionalProperties": {
        "description": "A tunable parameter declared by an event type. Values sent under `params` are validated against this declaration, and any declared parameter left unset is stored at its default.",
        "type": "object",
        "properties": {
          "default": {
            "description": "Value used when the parameter is not supplied.",
            "example": 3600
          },
          "description": {
            "description": "What the parameter changes.",
            "type": "string"
          },
          "enum": {
            "description": "Accepted values, when the parameter is a fixed choice.",
            "type": "array",
            "items": {}
          },
          "max": {
            "description": "Highest accepted value, when the parameter is bounded above.",
            "type": "number",
            "example": 86400
          },
          "min": {
            "description": "Lowest accepted value, when the parameter is bounded below.",
            "type": "number",
            "example": 60
          },
          "type": {
            "description": "Value type the parameter accepts.",
            "type": "string",
            "enum": [
              "integer",
              "number",
              "string",
              "array_of_number"
            ],
            "example": "integer"
          },
          "unit": {
            "description": "Unit the value is expressed in, when it has one.",
            "type": "string",
            "example": "s"
          }
        }
      }
    },
    "schema_version": {
      "description": "Version of the delivered payload shape for this event type.",
      "type": "integer",
      "example": 1
    },
    "scope": {
      "description": "Who the event is about. `public` is market wide, `user` is your own account and platform activity, and `addresses` reports only on wallets on your watched list.",
      "type": "string",
      "enum": [
        "public",
        "user",
        "addresses"
      ],
      "example": "public"
    },
    "type": {
      "description": "Event type identifier. Send this as `event_type` when creating a subscription.",
      "type": "string",
      "example": "market.liquidation"
    },
    "venues": {
      "description": "Venues the type covers. Empty when the type is not venue scoped.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "hyperliquid",
        "hip3",
        "lighter"
      ]
    }
  }
}
```

## Referenced By

Use this shared schema with the generated component index and route-specific endpoint pages during implementation.


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