> ## 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.

# WebhookSubscriptionConfig Schema

> What a subscription matches on. Includes required fields, field types, schema references, and generated JSON details from the 0xArchive OpenAPI contract.

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

What a subscription matches on. Every key is checked against the event type's catalog declaration, so an unknown key, an undeclared parameter or a condition on an undeclared metric is refused rather than ignored. The stored config is the normalised form: venues and addresses lowercased, declared parameters filled in at their defaults, and operators written in their canonical spelling.

## Required Fields

No required fields are declared on this component schema.

## JSON Schema

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "WebhookSubscriptionConfig",
  "description": "What a subscription matches on. Every key is checked against the event type's catalog declaration, so an unknown key, an undeclared parameter or a condition on an undeclared metric is refused rather than ignored. The stored config is the normalised form: venues and addresses lowercased, declared parameters filled in at their defaults, and operators written in their canonical spelling.",
  "type": "object",
  "properties": {
    "addresses": {
      "description": "Wallets to match, for an address scoped event type. Every address must already be on your watched list. Omit to match all of them.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "0x6b9e773128f453f5c2c60935ee2de2cbc5390a24"
      ]
    },
    "conditions": {
      "description": "Conditions on the event's metrics, all of which must hold for a delivery. At most 16 per subscription.",
      "type": "array",
      "items": {
        "description": "One condition on an event metric. The operator vocabulary is grouped by the metric's type; see `operators` on the event type.",
        "type": "object",
        "required": [
          "metric",
          "op"
        ],
        "properties": {
          "metric": {
            "description": "A metric declared by the event type.",
            "type": "string",
            "example": "notional_usd"
          },
          "op": {
            "description": "Comparison to apply. Symbol spellings such as `>=` are accepted on the way in and stored in the canonical spelling shown here.",
            "type": "string",
            "enum": [
              "greater_than",
              "greater_than_or_equal",
              "less_than",
              "less_than_or_equal",
              "equal",
              "not_equal",
              "between",
              "not_between",
              "in",
              "not_in",
              "contains",
              "not_contains",
              "starts_with",
              "ends_with",
              "before",
              "after",
              "is_empty",
              "is_not_empty"
            ],
            "example": "greater_than_or_equal"
          },
          "value": {
            "description": "What to compare against. A number, string, boolean or RFC 3339 timestamp for a single value comparison; a two entry `[low, high]` list for `between` and `not_between`; a non-empty list for `in` and `not_in`. Omitted for `is_empty` and `is_not_empty`.",
            "example": 100000
          }
        }
      }
    },
    "min_notional_usd": {
      "description": "Shorthand for a `notional_usd` at-or-above condition, kept for compatibility. It is stored as a condition, and it is mirrored back here as the loosest notional lower bound the config carries.",
      "type": "number",
      "example": 100000
    },
    "params": {
      "description": "Parameter values for the event type, keyed by the parameter names it declares. A declared parameter you leave out is stored at its default. A declared parameter may also be written at the top level of the config.",
      "type": "object",
      "additionalProperties": true,
      "example": {
        "max_age_s": 3600
      }
    },
    "symbols": {
      "description": "Instrument symbols to match. Omit to match every symbol.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "BTC",
        "ETH"
      ]
    },
    "venue": {
      "description": "Venue or venues to match, from the event type's `venues` list. Accepts a single string, a pipe separated string or a list. Omit to match every covered venue.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "example": "hyperliquid"
    }
  }
}
```

## 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.