{
  "x-generated-warning": "⚠️ This file is auto-generated. Do not edit manually",
  "openapi": "3.1.0",
  "info": {
    "title": "🔔 Webhooks",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://dashboard.alchemy.com/api"
    }
  ],
  "paths": {
    "/graphql/variables/{variable}": {
      "get": {
        "summary": "Get Variable Elements",
        "description": "This endpoint allows you to read the values within a Custom Webhook variable.\nIt supports pagination with `limit` and `after` (and optionally `pageKey`) query parameters.\n",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "variable",
            "in": "path",
            "required": true,
            "description": "String denoting a Custom Webhook variable",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The maximum number of items to return per page.",
            "schema": {
              "type": "integer",
              "default": 100
            }
          },
          {
            "name": "after",
            "in": "query",
            "required": false,
            "description": "The cursor that points to the end of the current set of results.",
            "schema": {
              "type": "string",
              "description": "The cursor that points to the end of the current set of results."
            }
          },
          {
            "name": "pageKey",
            "in": "query",
            "required": false,
            "description": "Page cursor for the next page.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK- Successful query of Custom Webhook variable",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "data": {
                        "type": "array",
                        "description": "List of addresses associated with the webhook.",
                        "items": {
                          "type": "string"
                        }
                      },
                      "pagination": {
                        "type": "object",
                        "description": "Pagination information.",
                        "properties": {
                          "cursors": {
                            "type": "object",
                            "description": "Pagination cursors.",
                            "properties": {
                              "after": {
                                "type": "string",
                                "description": "The cursor that points to the end of the current set of results."
                              }
                            }
                          },
                          "total_count": {
                            "type": "integer",
                            "description": "Total number of addresses."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          },
          "404": {
            "description": "Not found- The requested resource could not be found"
          },
          "500": {
            "description": "Internal Server Error- Try again"
          }
        },
        "operationId": "read-custom-webhook-variable"
      },
      "post": {
        "summary": "Create a Variable",
        "description": "This endpoint allows you to create a variable that can be inserted into a Custom Webhook GraphQL statement.\n\nIf the variable does not exist, it is created with the provided items. If it already exists, the call is additive: existing items are unchanged, new items are appended, and duplicates are ignored (no error is thrown).\n",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "variable",
            "in": "path",
            "required": true,
            "description": "String denoting a Custom Webhook variable",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "items"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "description": "A variable defined as a set of addresses or byte32 elements. Must be non-empty.",
                    "default": [],
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK- Successful creation of a Custom Webhook variable"
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          },
          "500": {
            "description": "Internal Server Error- Try again"
          }
        },
        "operationId": "create-custom-webhook-variable"
      },
      "delete": {
        "summary": "Delete a Variable",
        "description": "This endpoint allows you to delete a Custom Webhook variable",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "variable",
            "in": "path",
            "required": true,
            "description": "String denoting a Custom Webhook variable",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK- Successful deletion of a Custom Webhook variable"
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          },
          "404": {
            "description": "Not found- The requested resource could not be found"
          },
          "500": {
            "description": "Internal Server Error- Try again"
          }
        },
        "operationId": "delete-custom-webhook-variable"
      },
      "patch": {
        "summary": "Update a Variable",
        "description": "Add and remove elements within a Custom Webhook variable\n\n<Info>The use of both `add` and `delete` arrays within a single request is currently not supported. Attempting to send both will result in a 400 error. To add and remove elements, make separate API calls for each action.</Info>\n",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "variable",
            "in": "path",
            "required": true,
            "description": "String denoting a Custom Webhook variable",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "add": {
                    "type": "array",
                    "default": [],
                    "description": "Set of elements to be added to a Custom Webhook variable",
                    "items": {
                      "type": "string"
                    }
                  },
                  "delete": {
                    "type": "array",
                    "default": [],
                    "description": "Set of elements to be deleted from a Custom Webhook variable",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK- Successful update to Custom Webhook variable"
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          },
          "401": {
            "description": "Unauthorized- missing or invalid authentication credentials"
          },
          "500": {
            "description": "Internal Server Error- Try again"
          }
        },
        "operationId": "update-custom-webhook-variable"
      }
    },
    "/team-webhooks": {
      "get": {
        "summary": "Get all webhooks",
        "description": "This endpoint allows you to get all webhooks on your team.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns list of webhook objects.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "data": {
                        "type": "array",
                        "description": "List of webhooks for your team.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Unique ID for the webhook."
                            },
                            "network": {
                              "type": "string",
                              "description": "Network of the webhook",
                              "enum": [
                                "ETH_MAINNET",
                                "ETH_SEPOLIA",
                                "ETH_HOLESKY",
                                "ARB_MAINNET",
                                "ARB_SEPOLIA",
                                "ARBNOVA_MAINNET",
                                "MATIC_MAINNET",
                                "OPT_MAINNET",
                                "OPT_GOERLI",
                                "BASE_MAINNET",
                                "BASE_SEPOLIA",
                                "ZKSYNC_MAINNET",
                                "ZKSYNC_SEPOLIA",
                                "LINEA_MAINNET",
                                "LINEA_SEPOLIA",
                                "GNOSIS_MAINNET",
                                "GNOSIS_CHIADO",
                                "FANTOM_MAINNET",
                                "FANTOM_TESTNET",
                                "METIS_MAINNET",
                                "BLAST_MAINNET",
                                "BLAST_SEPOLIA",
                                "SHAPE_MAINNET",
                                "SHAPE_SEPOLIA",
                                "ZETACHAIN_MAINNET",
                                "ZETACHAIN_TESTNET",
                                "WORLDCHAIN_MAINNET",
                                "WORLDCHAIN_SEPOLIA",
                                "BNB_MAINNET",
                                "BNB_TESTNET",
                                "AVAX_MAINNET",
                                "AVAX_FUJI",
                                "SONEIUM_MAINNET",
                                "SONEIUM_MINATO",
                                "GEIST_POLTER",
                                "GEIST_MAINNET",
                                "STARKNET_MAINNET",
                                "STARKNET_SEPOLIA",
                                "STARKNET_GOERLI",
                                "INK_MAINNET",
                                "INK_SEPOLIA",
                                "ROOTSTOCK_MAINNET",
                                "ROOTSTOCK_TESTNET",
                                "SCROLL_MAINNET",
                                "MONAD_TESTNET",
                                "SONIC_MAINNET",
                                "SONIC_TESTNET",
                                "SETTLUS_SEPTESTNET",
                                "APECHAIN_MAINNET",
                                "APECHAIN_CURTIS",
                                "MATIC_AMOY",
                                "ARC_TESTNET",
                                "ARC_MAINNET",
                                "OPT_SEPOLIA",
                                "RONIN_SAIGON",
                                "CELO_SEPOLIA",
                                "CELO_MAINNET",
                                "ZORA_SEPOLIA",
                                "ZORA_MAINNET",
                                "RONIN_MAINNET",
                                "EARNM_SEPOLIA",
                                "ANIME_SEPOLIA",
                                "ANIME_MAINNET",
                                "MONAD_MAINNET",
                                "PLASMA_MAINNET",
                                "MANTLE_MAINNET",
                                "GENSYN_TESTNET",
                                "MANTLE_SEPOLIA",
                                "SETTLUS_MAINNET",
                                "UNICHAIN_MAINNET",
                                "OPENLOOT_SEPOLIA",
                                "ABSTRACT_TESTNET",
                                "UNICHAIN_SEPOLIA",
                                "ABSTRACT_MAINNET",
                                "BERACHAIN_BEPOLIA",
                                "ROBINHOOD_MAINNET",
                                "ROBINHOOD_TESTNET",
                                "BERACHAIN_MAINNET",
                                "HYPERLIQUID_MAINNET"
                              ],
                              "default": "ETH_MAINNET"
                            },
                            "webhook_type": {
                              "type": "string",
                              "description": "Type of webhook.",
                              "enum": [
                                "GRAPHQL",
                                "ADDRESS_ACTIVITY",
                                "NFT_ACTIVITY"
                              ]
                            },
                            "webhook_url": {
                              "type": "string",
                              "description": "URL endpoint where the webhook is sent"
                            },
                            "is_active": {
                              "type": "boolean",
                              "description": "True if the webhook is active, false otherwise."
                            },
                            "time_created": {
                              "type": "integer",
                              "description": "Timestamp when the webhook was created."
                            },
                            "version": {
                              "type": "string",
                              "description": "Webhook version (v1 or v2)"
                            },
                            "signing_key": {
                              "type": "string",
                              "description": "Signing key for the webhook."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "team-webhooks"
      }
    },
    "/webhook-addresses": {
      "get": {
        "summary": "Get all addresses for an Address Activity webhook",
        "description": "Paginated endpoint to list all of the addresses a given Address Activity webhook is subscribed to.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "webhook_id",
            "in": "query",
            "required": true,
            "description": "ID of the address activity webhook.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The maximum number of items to return per page.",
            "schema": {
              "type": "integer",
              "default": 100
            }
          },
          {
            "name": "after",
            "in": "query",
            "required": false,
            "description": "The cursor that points to the end of the current set of results.",
            "schema": {
              "type": "string",
              "description": "The cursor that points to the end of the current set of results."
            }
          },
          {
            "name": "pageKey",
            "in": "query",
            "required": false,
            "description": "Page cursor for the next page.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of addresses and pagination info.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "List of addresses associated with the webhook.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "description": "Pagination information.",
                      "properties": {
                        "cursors": {
                          "type": "object",
                          "description": "Pagination cursors.",
                          "properties": {
                            "after": {
                              "type": "string",
                              "description": "The cursor that points to the end of the current set of results."
                            }
                          }
                        },
                        "total_count": {
                          "type": "integer",
                          "description": "Total number of addresses."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "webhook-addresses"
      }
    },
    "/create-webhook": {
      "post": {
        "summary": "Create webhook",
        "description": "This endpoint allows you to create a webhook.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "network",
                  "webhook_type",
                  "webhook_url"
                ],
                "properties": {
                  "network": {
                    "type": "string",
                    "description": "Network of the webhook",
                    "enum": [
                      "ETH_MAINNET",
                      "ETH_SEPOLIA",
                      "ETH_HOLESKY",
                      "ARB_MAINNET",
                      "ARB_SEPOLIA",
                      "ARBNOVA_MAINNET",
                      "MATIC_MAINNET",
                      "OPT_MAINNET",
                      "OPT_GOERLI",
                      "BASE_MAINNET",
                      "BASE_SEPOLIA",
                      "ZKSYNC_MAINNET",
                      "ZKSYNC_SEPOLIA",
                      "LINEA_MAINNET",
                      "LINEA_SEPOLIA",
                      "GNOSIS_MAINNET",
                      "GNOSIS_CHIADO",
                      "FANTOM_MAINNET",
                      "FANTOM_TESTNET",
                      "METIS_MAINNET",
                      "BLAST_MAINNET",
                      "BLAST_SEPOLIA",
                      "SHAPE_MAINNET",
                      "SHAPE_SEPOLIA",
                      "ZETACHAIN_MAINNET",
                      "ZETACHAIN_TESTNET",
                      "WORLDCHAIN_MAINNET",
                      "WORLDCHAIN_SEPOLIA",
                      "BNB_MAINNET",
                      "BNB_TESTNET",
                      "AVAX_MAINNET",
                      "AVAX_FUJI",
                      "SONEIUM_MAINNET",
                      "SONEIUM_MINATO",
                      "GEIST_POLTER",
                      "GEIST_MAINNET",
                      "STARKNET_MAINNET",
                      "STARKNET_SEPOLIA",
                      "STARKNET_GOERLI",
                      "INK_MAINNET",
                      "INK_SEPOLIA",
                      "ROOTSTOCK_MAINNET",
                      "ROOTSTOCK_TESTNET",
                      "SCROLL_MAINNET",
                      "MONAD_TESTNET",
                      "SONIC_MAINNET",
                      "SONIC_TESTNET",
                      "SETTLUS_SEPTESTNET",
                      "APECHAIN_MAINNET",
                      "APECHAIN_CURTIS",
                      "MATIC_AMOY",
                      "ARC_TESTNET",
                      "ARC_MAINNET",
                      "OPT_SEPOLIA",
                      "RONIN_SAIGON",
                      "CELO_SEPOLIA",
                      "CELO_MAINNET",
                      "ZORA_SEPOLIA",
                      "ZORA_MAINNET",
                      "RONIN_MAINNET",
                      "EARNM_SEPOLIA",
                      "ANIME_SEPOLIA",
                      "ANIME_MAINNET",
                      "MONAD_MAINNET",
                      "PLASMA_MAINNET",
                      "MANTLE_MAINNET",
                      "GENSYN_TESTNET",
                      "MANTLE_SEPOLIA",
                      "SETTLUS_MAINNET",
                      "UNICHAIN_MAINNET",
                      "OPENLOOT_SEPOLIA",
                      "ABSTRACT_TESTNET",
                      "UNICHAIN_SEPOLIA",
                      "ABSTRACT_MAINNET",
                      "BERACHAIN_BEPOLIA",
                      "ROBINHOOD_MAINNET",
                      "ROBINHOOD_TESTNET",
                      "BERACHAIN_MAINNET",
                      "HYPERLIQUID_MAINNET"
                    ],
                    "default": "ETH_MAINNET"
                  },
                  "webhook_type": {
                    "type": "string",
                    "description": "Type of webhook.",
                    "enum": [
                      "GRAPHQL",
                      "ADDRESS_ACTIVITY",
                      "NFT_ACTIVITY"
                    ]
                  },
                  "webhook_url": {
                    "type": "string",
                    "description": "URL where requests are sent"
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the webhook"
                  },
                  "graphql_query": {
                    "oneOf": [
                      {
                        "type": "string",
                        "description": "A valid, stringified GraphQL query to host on Alchemy. Required for GRAPHQL webhook type."
                      },
                      {
                        "type": "object",
                        "description": "Required for GRAPHQL webhook type.",
                        "required": [
                          "query"
                        ],
                        "properties": {
                          "query": {
                            "type": "string",
                            "description": "A valid, stringified GraphQL query to host on Alchemy"
                          },
                          "skip_empty_messages": {
                            "type": "boolean",
                            "description": "If true, skip sending webhooks for empty messages."
                          }
                        }
                      }
                    ]
                  },
                  "addresses": {
                    "type": "array",
                    "description": "List of addresses to track. Required for ADDRESS_ACTIVITY webhook type.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "nft_filters": {
                    "type": "array",
                    "description": "List of NFT filter objects to track. Required for NFT_ACTIVITY webhook type.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "contract_address": {
                          "type": "string",
                          "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                        },
                        "token_id": {
                          "type": "string",
                          "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns webhook creation data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Unique ID for the webhook."
                        },
                        "network": {
                          "type": "string",
                          "description": "Network of the webhook",
                          "enum": [
                            "ETH_MAINNET",
                            "ETH_SEPOLIA",
                            "ETH_HOLESKY",
                            "ARB_MAINNET",
                            "ARB_SEPOLIA",
                            "ARBNOVA_MAINNET",
                            "MATIC_MAINNET",
                            "OPT_MAINNET",
                            "OPT_GOERLI",
                            "BASE_MAINNET",
                            "BASE_SEPOLIA",
                            "ZKSYNC_MAINNET",
                            "ZKSYNC_SEPOLIA",
                            "LINEA_MAINNET",
                            "LINEA_SEPOLIA",
                            "GNOSIS_MAINNET",
                            "GNOSIS_CHIADO",
                            "FANTOM_MAINNET",
                            "FANTOM_TESTNET",
                            "METIS_MAINNET",
                            "BLAST_MAINNET",
                            "BLAST_SEPOLIA",
                            "SHAPE_MAINNET",
                            "SHAPE_SEPOLIA",
                            "ZETACHAIN_MAINNET",
                            "ZETACHAIN_TESTNET",
                            "WORLDCHAIN_MAINNET",
                            "WORLDCHAIN_SEPOLIA",
                            "BNB_MAINNET",
                            "BNB_TESTNET",
                            "AVAX_MAINNET",
                            "AVAX_FUJI",
                            "SONEIUM_MAINNET",
                            "SONEIUM_MINATO",
                            "GEIST_POLTER",
                            "GEIST_MAINNET",
                            "STARKNET_MAINNET",
                            "STARKNET_SEPOLIA",
                            "STARKNET_GOERLI",
                            "INK_MAINNET",
                            "INK_SEPOLIA",
                            "ROOTSTOCK_MAINNET",
                            "ROOTSTOCK_TESTNET",
                            "SCROLL_MAINNET",
                            "MONAD_TESTNET",
                            "SONIC_MAINNET",
                            "SONIC_TESTNET",
                            "SETTLUS_SEPTESTNET",
                            "APECHAIN_MAINNET",
                            "APECHAIN_CURTIS",
                            "MATIC_AMOY",
                            "ARC_TESTNET",
                            "ARC_MAINNET",
                            "OPT_SEPOLIA",
                            "RONIN_SAIGON",
                            "CELO_SEPOLIA",
                            "CELO_MAINNET",
                            "ZORA_SEPOLIA",
                            "ZORA_MAINNET",
                            "RONIN_MAINNET",
                            "EARNM_SEPOLIA",
                            "ANIME_SEPOLIA",
                            "ANIME_MAINNET",
                            "MONAD_MAINNET",
                            "PLASMA_MAINNET",
                            "MANTLE_MAINNET",
                            "GENSYN_TESTNET",
                            "MANTLE_SEPOLIA",
                            "SETTLUS_MAINNET",
                            "UNICHAIN_MAINNET",
                            "OPENLOOT_SEPOLIA",
                            "ABSTRACT_TESTNET",
                            "UNICHAIN_SEPOLIA",
                            "ABSTRACT_MAINNET",
                            "BERACHAIN_BEPOLIA",
                            "ROBINHOOD_MAINNET",
                            "ROBINHOOD_TESTNET",
                            "BERACHAIN_MAINNET",
                            "HYPERLIQUID_MAINNET"
                          ],
                          "default": "ETH_MAINNET"
                        },
                        "webhook_type": {
                          "type": "string",
                          "description": "Type of webhook.",
                          "enum": [
                            "GRAPHQL",
                            "ADDRESS_ACTIVITY",
                            "NFT_ACTIVITY"
                          ]
                        },
                        "webhook_url": {
                          "type": "string",
                          "description": "URL endpoint where the webhook is sent"
                        },
                        "is_active": {
                          "type": "boolean",
                          "description": "True if the webhook is active, false otherwise."
                        },
                        "time_created": {
                          "type": "integer",
                          "description": "Timestamp when the webhook was created."
                        },
                        "version": {
                          "type": "string",
                          "description": "Webhook version (v1 or v2)"
                        },
                        "signing_key": {
                          "type": "string",
                          "description": "Signing key for the webhook."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "create-webhook"
      }
    },
    "/update-webhook-addresses": {
      "patch": {
        "summary": "Add and remove webhook addresses",
        "description": "Add or remove addresses from a specific webhook.\n*This webhook endpoint is idempotent, meaning that identical requests can be made once or several times with the same effect.*\n",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "webhook_id",
                  "addresses_to_add",
                  "addresses_to_remove"
                ],
                "properties": {
                  "webhook_id": {
                    "type": "string",
                    "description": "ID of the address activity webhook"
                  },
                  "addresses_to_add": {
                    "type": "array",
                    "default": [],
                    "description": "List of addresses to add **(empty array if none)**.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "addresses_to_remove": {
                    "type": "array",
                    "default": [],
                    "description": "List of addresses to remove **(empty array if none)**.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns empty object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "update-webhook-addresses"
      },
      "put": {
        "summary": "Replace webhook addresses",
        "description": "Replace entire list of addresses tracked in a given webhook.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "webhook_id",
                  "addresses"
                ],
                "properties": {
                  "webhook_id": {
                    "type": "string",
                    "description": "ID of the address activity webhook."
                  },
                  "addresses": {
                    "type": "array",
                    "description": "New list of addresses to track (replaces any existing addresses).",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns empty object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "replace-webhook-addresses"
      }
    },
    "/update-webhook": {
      "put": {
        "summary": "Update webhook",
        "description": "Update webhook properties such as name or status.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "webhook_id"
                ],
                "properties": {
                  "webhook_id": {
                    "type": "string",
                    "description": "ID of the webhook"
                  },
                  "is_active": {
                    "type": "boolean",
                    "description": "Set webhook status (true for active, false for inactive)\n"
                  },
                  "name": {
                    "type": "string",
                    "description": "Update the webhook name"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns updated webhook data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "allOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Unique ID for the webhook."
                            },
                            "network": {
                              "type": "string",
                              "description": "Network of the webhook",
                              "enum": [
                                "ETH_MAINNET",
                                "ETH_SEPOLIA",
                                "ETH_HOLESKY",
                                "ARB_MAINNET",
                                "ARB_SEPOLIA",
                                "ARBNOVA_MAINNET",
                                "MATIC_MAINNET",
                                "OPT_MAINNET",
                                "OPT_GOERLI",
                                "BASE_MAINNET",
                                "BASE_SEPOLIA",
                                "ZKSYNC_MAINNET",
                                "ZKSYNC_SEPOLIA",
                                "LINEA_MAINNET",
                                "LINEA_SEPOLIA",
                                "GNOSIS_MAINNET",
                                "GNOSIS_CHIADO",
                                "FANTOM_MAINNET",
                                "FANTOM_TESTNET",
                                "METIS_MAINNET",
                                "BLAST_MAINNET",
                                "BLAST_SEPOLIA",
                                "SHAPE_MAINNET",
                                "SHAPE_SEPOLIA",
                                "ZETACHAIN_MAINNET",
                                "ZETACHAIN_TESTNET",
                                "WORLDCHAIN_MAINNET",
                                "WORLDCHAIN_SEPOLIA",
                                "BNB_MAINNET",
                                "BNB_TESTNET",
                                "AVAX_MAINNET",
                                "AVAX_FUJI",
                                "SONEIUM_MAINNET",
                                "SONEIUM_MINATO",
                                "GEIST_POLTER",
                                "GEIST_MAINNET",
                                "STARKNET_MAINNET",
                                "STARKNET_SEPOLIA",
                                "STARKNET_GOERLI",
                                "INK_MAINNET",
                                "INK_SEPOLIA",
                                "ROOTSTOCK_MAINNET",
                                "ROOTSTOCK_TESTNET",
                                "SCROLL_MAINNET",
                                "MONAD_TESTNET",
                                "SONIC_MAINNET",
                                "SONIC_TESTNET",
                                "SETTLUS_SEPTESTNET",
                                "APECHAIN_MAINNET",
                                "APECHAIN_CURTIS",
                                "MATIC_AMOY",
                                "ARC_TESTNET",
                                "ARC_MAINNET",
                                "OPT_SEPOLIA",
                                "RONIN_SAIGON",
                                "CELO_SEPOLIA",
                                "CELO_MAINNET",
                                "ZORA_SEPOLIA",
                                "ZORA_MAINNET",
                                "RONIN_MAINNET",
                                "EARNM_SEPOLIA",
                                "ANIME_SEPOLIA",
                                "ANIME_MAINNET",
                                "MONAD_MAINNET",
                                "PLASMA_MAINNET",
                                "MANTLE_MAINNET",
                                "GENSYN_TESTNET",
                                "MANTLE_SEPOLIA",
                                "SETTLUS_MAINNET",
                                "UNICHAIN_MAINNET",
                                "OPENLOOT_SEPOLIA",
                                "ABSTRACT_TESTNET",
                                "UNICHAIN_SEPOLIA",
                                "ABSTRACT_MAINNET",
                                "BERACHAIN_BEPOLIA",
                                "ROBINHOOD_MAINNET",
                                "ROBINHOOD_TESTNET",
                                "BERACHAIN_MAINNET",
                                "HYPERLIQUID_MAINNET"
                              ],
                              "default": "ETH_MAINNET"
                            },
                            "webhook_type": {
                              "type": "string",
                              "description": "Type of webhook.",
                              "enum": [
                                "GRAPHQL",
                                "ADDRESS_ACTIVITY",
                                "NFT_ACTIVITY"
                              ]
                            },
                            "webhook_url": {
                              "type": "string",
                              "description": "URL endpoint where the webhook is sent"
                            },
                            "is_active": {
                              "type": "boolean",
                              "description": "True if the webhook is active, false otherwise."
                            },
                            "time_created": {
                              "type": "integer",
                              "description": "Timestamp when the webhook was created."
                            },
                            "version": {
                              "type": "string",
                              "description": "Webhook version (v1 or v2)"
                            },
                            "signing_key": {
                              "type": "string",
                              "description": "Signing key for the webhook."
                            }
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "signing_key": {
                              "type": "string",
                              "description": "Signing key for the webhook."
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "update-webhook"
      }
    },
    "/update-webhook-nft-filters": {
      "patch": {
        "summary": "Update webhook NFT filters",
        "description": "Add and remove webhook NFT filters",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "webhook_id"
                ],
                "properties": {
                  "webhook_id": {
                    "type": "string",
                    "description": "ID of the address activity webhook"
                  },
                  "nft_filters_to_add": {
                    "type": "array",
                    "default": [],
                    "description": "List of NFT filters to add (empty array if none).",
                    "items": {
                      "type": "object",
                      "properties": {
                        "contract_address": {
                          "type": "string",
                          "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                        },
                        "token_id": {
                          "type": "string",
                          "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                        }
                      }
                    }
                  },
                  "nft_filters_to_remove": {
                    "type": "array",
                    "default": [],
                    "description": "List of NFT filters to remove (empty array if none).",
                    "items": {
                      "type": "object",
                      "properties": {
                        "contract_address": {
                          "type": "string",
                          "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                        },
                        "token_id": {
                          "type": "string",
                          "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns empty object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "update-webhook-nft-filters"
      }
    },
    "/webhook-nft-filters": {
      "get": {
        "summary": "Get all webhook NFT filters",
        "description": "Paginated endpoint to list all of the NFT filter objects a given webhook is subscribed to.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "webhook_id",
            "in": "query",
            "required": true,
            "description": "ID of the address activity webhook.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The maximum number of items to return per page.",
            "schema": {
              "type": "integer",
              "default": 100
            }
          },
          {
            "name": "after",
            "in": "query",
            "required": false,
            "description": "The cursor that points to the end of the current set of results.",
            "schema": {
              "type": "string",
              "description": "The cursor that points to the end of the current set of results."
            }
          },
          {
            "name": "pageKey",
            "in": "query",
            "required": false,
            "description": "Page cursor for the next page.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of nft filter objects.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "description": "List of NFT filter objects.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "contract_address": {
                            "type": "string",
                            "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                          },
                          "token_id": {
                            "type": "string",
                            "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                          }
                        }
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "description": "Pagination information.",
                      "properties": {
                        "cursors": {
                          "type": "object",
                          "description": "Pagination cursors.",
                          "properties": {
                            "after": {
                              "type": "string",
                              "description": "The cursor that points to the end of the current set of results."
                            }
                          }
                        },
                        "total_count": {
                          "type": "integer",
                          "description": "Total number of NFT filters."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "webhook-nft-filters"
      }
    },
    "/delete-webhook": {
      "delete": {
        "summary": "Delete webhook",
        "description": "Allows you to delete a webhook.",
        "tags": [
          "Notify API Endpoints"
        ],
        "parameters": [
          {
            "name": "X-Alchemy-Token",
            "in": "header",
            "required": true,
            "description": "Alchemy Auth token to use the Notify API.",
            "schema": {
              "type": "string"
            },
            "example": "your-X-Alchemy-Token"
          },
          {
            "name": "webhook_id",
            "in": "query",
            "required": true,
            "description": "ID of the address activity webhook.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns empty object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request- The server cannot understand the request."
          }
        },
        "operationId": "delete-webhook"
      }
    }
  },
  "components": {
    "parameters": {
      "after": {
        "name": "after",
        "in": "query",
        "required": false,
        "description": "The cursor that points to the end of the current set of results.",
        "schema": {
          "type": "string",
          "description": "The cursor that points to the end of the current set of results."
        }
      }
    },
    "schemas": {
      "create_webhook": {
        "type": "object",
        "required": [
          "network",
          "webhook_type",
          "webhook_url"
        ],
        "properties": {
          "network": {
            "type": "string",
            "description": "Network of the webhook",
            "enum": [
              "ETH_MAINNET",
              "ETH_SEPOLIA",
              "ETH_HOLESKY",
              "ARB_MAINNET",
              "ARB_SEPOLIA",
              "ARBNOVA_MAINNET",
              "MATIC_MAINNET",
              "OPT_MAINNET",
              "OPT_GOERLI",
              "BASE_MAINNET",
              "BASE_SEPOLIA",
              "ZKSYNC_MAINNET",
              "ZKSYNC_SEPOLIA",
              "LINEA_MAINNET",
              "LINEA_SEPOLIA",
              "GNOSIS_MAINNET",
              "GNOSIS_CHIADO",
              "FANTOM_MAINNET",
              "FANTOM_TESTNET",
              "METIS_MAINNET",
              "BLAST_MAINNET",
              "BLAST_SEPOLIA",
              "SHAPE_MAINNET",
              "SHAPE_SEPOLIA",
              "ZETACHAIN_MAINNET",
              "ZETACHAIN_TESTNET",
              "WORLDCHAIN_MAINNET",
              "WORLDCHAIN_SEPOLIA",
              "BNB_MAINNET",
              "BNB_TESTNET",
              "AVAX_MAINNET",
              "AVAX_FUJI",
              "SONEIUM_MAINNET",
              "SONEIUM_MINATO",
              "GEIST_POLTER",
              "GEIST_MAINNET",
              "STARKNET_MAINNET",
              "STARKNET_SEPOLIA",
              "STARKNET_GOERLI",
              "INK_MAINNET",
              "INK_SEPOLIA",
              "ROOTSTOCK_MAINNET",
              "ROOTSTOCK_TESTNET",
              "SCROLL_MAINNET",
              "MONAD_TESTNET",
              "SONIC_MAINNET",
              "SONIC_TESTNET",
              "SETTLUS_SEPTESTNET",
              "APECHAIN_MAINNET",
              "APECHAIN_CURTIS",
              "MATIC_AMOY",
              "ARC_TESTNET",
              "ARC_MAINNET",
              "OPT_SEPOLIA",
              "RONIN_SAIGON",
              "CELO_SEPOLIA",
              "CELO_MAINNET",
              "ZORA_SEPOLIA",
              "ZORA_MAINNET",
              "RONIN_MAINNET",
              "EARNM_SEPOLIA",
              "ANIME_SEPOLIA",
              "ANIME_MAINNET",
              "MONAD_MAINNET",
              "PLASMA_MAINNET",
              "MANTLE_MAINNET",
              "GENSYN_TESTNET",
              "MANTLE_SEPOLIA",
              "SETTLUS_MAINNET",
              "UNICHAIN_MAINNET",
              "OPENLOOT_SEPOLIA",
              "ABSTRACT_TESTNET",
              "UNICHAIN_SEPOLIA",
              "ABSTRACT_MAINNET",
              "BERACHAIN_BEPOLIA",
              "ROBINHOOD_MAINNET",
              "ROBINHOOD_TESTNET",
              "BERACHAIN_MAINNET",
              "HYPERLIQUID_MAINNET"
            ],
            "default": "ETH_MAINNET"
          },
          "webhook_type": {
            "type": "string",
            "description": "Type of webhook.",
            "enum": [
              "GRAPHQL",
              "ADDRESS_ACTIVITY",
              "NFT_ACTIVITY"
            ]
          },
          "webhook_url": {
            "type": "string",
            "description": "URL where requests are sent"
          },
          "name": {
            "type": "string",
            "description": "Name of the webhook"
          },
          "graphql_query": {
            "oneOf": [
              {
                "type": "string",
                "description": "A valid, stringified GraphQL query to host on Alchemy. Required for GRAPHQL webhook type."
              },
              {
                "type": "object",
                "description": "Required for GRAPHQL webhook type.",
                "required": [
                  "query"
                ],
                "properties": {
                  "query": {
                    "type": "string",
                    "description": "A valid, stringified GraphQL query to host on Alchemy"
                  },
                  "skip_empty_messages": {
                    "type": "boolean",
                    "description": "If true, skip sending webhooks for empty messages."
                  }
                }
              }
            ]
          },
          "addresses": {
            "type": "array",
            "description": "List of addresses to track. Required for ADDRESS_ACTIVITY webhook type.",
            "items": {
              "type": "string"
            }
          },
          "nft_filters": {
            "type": "array",
            "description": "List of NFT filter objects to track. Required for NFT_ACTIVITY webhook type.",
            "items": {
              "type": "object",
              "properties": {
                "contract_address": {
                  "type": "string",
                  "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                },
                "token_id": {
                  "type": "string",
                  "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                }
              }
            }
          }
        }
      },
      "update_webhook_nft_filters": {
        "type": "object",
        "required": [
          "webhook_id"
        ],
        "properties": {
          "webhook_id": {
            "type": "string",
            "description": "ID of the address activity webhook"
          },
          "nft_filters_to_add": {
            "type": "array",
            "default": [],
            "description": "List of NFT filters to add (empty array if none).",
            "items": {
              "type": "object",
              "properties": {
                "contract_address": {
                  "type": "string",
                  "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                },
                "token_id": {
                  "type": "string",
                  "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                }
              }
            }
          },
          "nft_filters_to_remove": {
            "type": "array",
            "default": [],
            "description": "List of NFT filters to remove (empty array if none).",
            "items": {
              "type": "object",
              "properties": {
                "contract_address": {
                  "type": "string",
                  "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                },
                "token_id": {
                  "type": "string",
                  "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                }
              }
            }
          }
        }
      },
      "webhook_object_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "List of webhooks for your team.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique ID for the webhook."
                },
                "network": {
                  "type": "string",
                  "description": "Network of the webhook",
                  "enum": [
                    "ETH_MAINNET",
                    "ETH_SEPOLIA",
                    "ETH_HOLESKY",
                    "ARB_MAINNET",
                    "ARB_SEPOLIA",
                    "ARBNOVA_MAINNET",
                    "MATIC_MAINNET",
                    "OPT_MAINNET",
                    "OPT_GOERLI",
                    "BASE_MAINNET",
                    "BASE_SEPOLIA",
                    "ZKSYNC_MAINNET",
                    "ZKSYNC_SEPOLIA",
                    "LINEA_MAINNET",
                    "LINEA_SEPOLIA",
                    "GNOSIS_MAINNET",
                    "GNOSIS_CHIADO",
                    "FANTOM_MAINNET",
                    "FANTOM_TESTNET",
                    "METIS_MAINNET",
                    "BLAST_MAINNET",
                    "BLAST_SEPOLIA",
                    "SHAPE_MAINNET",
                    "SHAPE_SEPOLIA",
                    "ZETACHAIN_MAINNET",
                    "ZETACHAIN_TESTNET",
                    "WORLDCHAIN_MAINNET",
                    "WORLDCHAIN_SEPOLIA",
                    "BNB_MAINNET",
                    "BNB_TESTNET",
                    "AVAX_MAINNET",
                    "AVAX_FUJI",
                    "SONEIUM_MAINNET",
                    "SONEIUM_MINATO",
                    "GEIST_POLTER",
                    "GEIST_MAINNET",
                    "STARKNET_MAINNET",
                    "STARKNET_SEPOLIA",
                    "STARKNET_GOERLI",
                    "INK_MAINNET",
                    "INK_SEPOLIA",
                    "ROOTSTOCK_MAINNET",
                    "ROOTSTOCK_TESTNET",
                    "SCROLL_MAINNET",
                    "MONAD_TESTNET",
                    "SONIC_MAINNET",
                    "SONIC_TESTNET",
                    "SETTLUS_SEPTESTNET",
                    "APECHAIN_MAINNET",
                    "APECHAIN_CURTIS",
                    "MATIC_AMOY",
                    "ARC_TESTNET",
                    "ARC_MAINNET",
                    "OPT_SEPOLIA",
                    "RONIN_SAIGON",
                    "CELO_SEPOLIA",
                    "CELO_MAINNET",
                    "ZORA_SEPOLIA",
                    "ZORA_MAINNET",
                    "RONIN_MAINNET",
                    "EARNM_SEPOLIA",
                    "ANIME_SEPOLIA",
                    "ANIME_MAINNET",
                    "MONAD_MAINNET",
                    "PLASMA_MAINNET",
                    "MANTLE_MAINNET",
                    "GENSYN_TESTNET",
                    "MANTLE_SEPOLIA",
                    "SETTLUS_MAINNET",
                    "UNICHAIN_MAINNET",
                    "OPENLOOT_SEPOLIA",
                    "ABSTRACT_TESTNET",
                    "UNICHAIN_SEPOLIA",
                    "ABSTRACT_MAINNET",
                    "BERACHAIN_BEPOLIA",
                    "ROBINHOOD_MAINNET",
                    "ROBINHOOD_TESTNET",
                    "BERACHAIN_MAINNET",
                    "HYPERLIQUID_MAINNET"
                  ],
                  "default": "ETH_MAINNET"
                },
                "webhook_type": {
                  "type": "string",
                  "description": "Type of webhook.",
                  "enum": [
                    "GRAPHQL",
                    "ADDRESS_ACTIVITY",
                    "NFT_ACTIVITY"
                  ]
                },
                "webhook_url": {
                  "type": "string",
                  "description": "URL endpoint where the webhook is sent"
                },
                "is_active": {
                  "type": "boolean",
                  "description": "True if the webhook is active, false otherwise."
                },
                "time_created": {
                  "type": "integer",
                  "description": "Timestamp when the webhook was created."
                },
                "version": {
                  "type": "string",
                  "description": "Webhook version (v1 or v2)"
                },
                "signing_key": {
                  "type": "string",
                  "description": "Signing key for the webhook."
                }
              }
            }
          }
        }
      },
      "webhook_creation_data": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for the webhook."
          },
          "network": {
            "type": "string",
            "description": "Network of the webhook",
            "enum": [
              "ETH_MAINNET",
              "ETH_SEPOLIA",
              "ETH_HOLESKY",
              "ARB_MAINNET",
              "ARB_SEPOLIA",
              "ARBNOVA_MAINNET",
              "MATIC_MAINNET",
              "OPT_MAINNET",
              "OPT_GOERLI",
              "BASE_MAINNET",
              "BASE_SEPOLIA",
              "ZKSYNC_MAINNET",
              "ZKSYNC_SEPOLIA",
              "LINEA_MAINNET",
              "LINEA_SEPOLIA",
              "GNOSIS_MAINNET",
              "GNOSIS_CHIADO",
              "FANTOM_MAINNET",
              "FANTOM_TESTNET",
              "METIS_MAINNET",
              "BLAST_MAINNET",
              "BLAST_SEPOLIA",
              "SHAPE_MAINNET",
              "SHAPE_SEPOLIA",
              "ZETACHAIN_MAINNET",
              "ZETACHAIN_TESTNET",
              "WORLDCHAIN_MAINNET",
              "WORLDCHAIN_SEPOLIA",
              "BNB_MAINNET",
              "BNB_TESTNET",
              "AVAX_MAINNET",
              "AVAX_FUJI",
              "SONEIUM_MAINNET",
              "SONEIUM_MINATO",
              "GEIST_POLTER",
              "GEIST_MAINNET",
              "STARKNET_MAINNET",
              "STARKNET_SEPOLIA",
              "STARKNET_GOERLI",
              "INK_MAINNET",
              "INK_SEPOLIA",
              "ROOTSTOCK_MAINNET",
              "ROOTSTOCK_TESTNET",
              "SCROLL_MAINNET",
              "MONAD_TESTNET",
              "SONIC_MAINNET",
              "SONIC_TESTNET",
              "SETTLUS_SEPTESTNET",
              "APECHAIN_MAINNET",
              "APECHAIN_CURTIS",
              "MATIC_AMOY",
              "ARC_TESTNET",
              "ARC_MAINNET",
              "OPT_SEPOLIA",
              "RONIN_SAIGON",
              "CELO_SEPOLIA",
              "CELO_MAINNET",
              "ZORA_SEPOLIA",
              "ZORA_MAINNET",
              "RONIN_MAINNET",
              "EARNM_SEPOLIA",
              "ANIME_SEPOLIA",
              "ANIME_MAINNET",
              "MONAD_MAINNET",
              "PLASMA_MAINNET",
              "MANTLE_MAINNET",
              "GENSYN_TESTNET",
              "MANTLE_SEPOLIA",
              "SETTLUS_MAINNET",
              "UNICHAIN_MAINNET",
              "OPENLOOT_SEPOLIA",
              "ABSTRACT_TESTNET",
              "UNICHAIN_SEPOLIA",
              "ABSTRACT_MAINNET",
              "BERACHAIN_BEPOLIA",
              "ROBINHOOD_MAINNET",
              "ROBINHOOD_TESTNET",
              "BERACHAIN_MAINNET",
              "HYPERLIQUID_MAINNET"
            ],
            "default": "ETH_MAINNET"
          },
          "webhook_type": {
            "type": "string",
            "description": "Type of webhook.",
            "enum": [
              "GRAPHQL",
              "ADDRESS_ACTIVITY",
              "NFT_ACTIVITY"
            ]
          },
          "webhook_url": {
            "type": "string",
            "description": "URL endpoint where the webhook is sent"
          },
          "is_active": {
            "type": "boolean",
            "description": "True if the webhook is active, false otherwise."
          },
          "time_created": {
            "type": "integer",
            "description": "Timestamp when the webhook was created."
          },
          "version": {
            "type": "string",
            "description": "Webhook version (v1 or v2)"
          },
          "signing_key": {
            "type": "string",
            "description": "Signing key for the webhook."
          }
        }
      },
      "create_webhook_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique ID for the webhook."
              },
              "network": {
                "type": "string",
                "description": "Network of the webhook",
                "enum": [
                  "ETH_MAINNET",
                  "ETH_SEPOLIA",
                  "ETH_HOLESKY",
                  "ARB_MAINNET",
                  "ARB_SEPOLIA",
                  "ARBNOVA_MAINNET",
                  "MATIC_MAINNET",
                  "OPT_MAINNET",
                  "OPT_GOERLI",
                  "BASE_MAINNET",
                  "BASE_SEPOLIA",
                  "ZKSYNC_MAINNET",
                  "ZKSYNC_SEPOLIA",
                  "LINEA_MAINNET",
                  "LINEA_SEPOLIA",
                  "GNOSIS_MAINNET",
                  "GNOSIS_CHIADO",
                  "FANTOM_MAINNET",
                  "FANTOM_TESTNET",
                  "METIS_MAINNET",
                  "BLAST_MAINNET",
                  "BLAST_SEPOLIA",
                  "SHAPE_MAINNET",
                  "SHAPE_SEPOLIA",
                  "ZETACHAIN_MAINNET",
                  "ZETACHAIN_TESTNET",
                  "WORLDCHAIN_MAINNET",
                  "WORLDCHAIN_SEPOLIA",
                  "BNB_MAINNET",
                  "BNB_TESTNET",
                  "AVAX_MAINNET",
                  "AVAX_FUJI",
                  "SONEIUM_MAINNET",
                  "SONEIUM_MINATO",
                  "GEIST_POLTER",
                  "GEIST_MAINNET",
                  "STARKNET_MAINNET",
                  "STARKNET_SEPOLIA",
                  "STARKNET_GOERLI",
                  "INK_MAINNET",
                  "INK_SEPOLIA",
                  "ROOTSTOCK_MAINNET",
                  "ROOTSTOCK_TESTNET",
                  "SCROLL_MAINNET",
                  "MONAD_TESTNET",
                  "SONIC_MAINNET",
                  "SONIC_TESTNET",
                  "SETTLUS_SEPTESTNET",
                  "APECHAIN_MAINNET",
                  "APECHAIN_CURTIS",
                  "MATIC_AMOY",
                  "ARC_TESTNET",
                  "ARC_MAINNET",
                  "OPT_SEPOLIA",
                  "RONIN_SAIGON",
                  "CELO_SEPOLIA",
                  "CELO_MAINNET",
                  "ZORA_SEPOLIA",
                  "ZORA_MAINNET",
                  "RONIN_MAINNET",
                  "EARNM_SEPOLIA",
                  "ANIME_SEPOLIA",
                  "ANIME_MAINNET",
                  "MONAD_MAINNET",
                  "PLASMA_MAINNET",
                  "MANTLE_MAINNET",
                  "GENSYN_TESTNET",
                  "MANTLE_SEPOLIA",
                  "SETTLUS_MAINNET",
                  "UNICHAIN_MAINNET",
                  "OPENLOOT_SEPOLIA",
                  "ABSTRACT_TESTNET",
                  "UNICHAIN_SEPOLIA",
                  "ABSTRACT_MAINNET",
                  "BERACHAIN_BEPOLIA",
                  "ROBINHOOD_MAINNET",
                  "ROBINHOOD_TESTNET",
                  "BERACHAIN_MAINNET",
                  "HYPERLIQUID_MAINNET"
                ],
                "default": "ETH_MAINNET"
              },
              "webhook_type": {
                "type": "string",
                "description": "Type of webhook.",
                "enum": [
                  "GRAPHQL",
                  "ADDRESS_ACTIVITY",
                  "NFT_ACTIVITY"
                ]
              },
              "webhook_url": {
                "type": "string",
                "description": "URL endpoint where the webhook is sent"
              },
              "is_active": {
                "type": "boolean",
                "description": "True if the webhook is active, false otherwise."
              },
              "time_created": {
                "type": "integer",
                "description": "Timestamp when the webhook was created."
              },
              "version": {
                "type": "string",
                "description": "Webhook version (v1 or v2)"
              },
              "signing_key": {
                "type": "string",
                "description": "Signing key for the webhook."
              }
            }
          }
        }
      },
      "update_webhook_response": {
        "type": "object",
        "properties": {
          "data": {
            "allOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Unique ID for the webhook."
                  },
                  "network": {
                    "type": "string",
                    "description": "Network of the webhook",
                    "enum": [
                      "ETH_MAINNET",
                      "ETH_SEPOLIA",
                      "ETH_HOLESKY",
                      "ARB_MAINNET",
                      "ARB_SEPOLIA",
                      "ARBNOVA_MAINNET",
                      "MATIC_MAINNET",
                      "OPT_MAINNET",
                      "OPT_GOERLI",
                      "BASE_MAINNET",
                      "BASE_SEPOLIA",
                      "ZKSYNC_MAINNET",
                      "ZKSYNC_SEPOLIA",
                      "LINEA_MAINNET",
                      "LINEA_SEPOLIA",
                      "GNOSIS_MAINNET",
                      "GNOSIS_CHIADO",
                      "FANTOM_MAINNET",
                      "FANTOM_TESTNET",
                      "METIS_MAINNET",
                      "BLAST_MAINNET",
                      "BLAST_SEPOLIA",
                      "SHAPE_MAINNET",
                      "SHAPE_SEPOLIA",
                      "ZETACHAIN_MAINNET",
                      "ZETACHAIN_TESTNET",
                      "WORLDCHAIN_MAINNET",
                      "WORLDCHAIN_SEPOLIA",
                      "BNB_MAINNET",
                      "BNB_TESTNET",
                      "AVAX_MAINNET",
                      "AVAX_FUJI",
                      "SONEIUM_MAINNET",
                      "SONEIUM_MINATO",
                      "GEIST_POLTER",
                      "GEIST_MAINNET",
                      "STARKNET_MAINNET",
                      "STARKNET_SEPOLIA",
                      "STARKNET_GOERLI",
                      "INK_MAINNET",
                      "INK_SEPOLIA",
                      "ROOTSTOCK_MAINNET",
                      "ROOTSTOCK_TESTNET",
                      "SCROLL_MAINNET",
                      "MONAD_TESTNET",
                      "SONIC_MAINNET",
                      "SONIC_TESTNET",
                      "SETTLUS_SEPTESTNET",
                      "APECHAIN_MAINNET",
                      "APECHAIN_CURTIS",
                      "MATIC_AMOY",
                      "ARC_TESTNET",
                      "ARC_MAINNET",
                      "OPT_SEPOLIA",
                      "RONIN_SAIGON",
                      "CELO_SEPOLIA",
                      "CELO_MAINNET",
                      "ZORA_SEPOLIA",
                      "ZORA_MAINNET",
                      "RONIN_MAINNET",
                      "EARNM_SEPOLIA",
                      "ANIME_SEPOLIA",
                      "ANIME_MAINNET",
                      "MONAD_MAINNET",
                      "PLASMA_MAINNET",
                      "MANTLE_MAINNET",
                      "GENSYN_TESTNET",
                      "MANTLE_SEPOLIA",
                      "SETTLUS_MAINNET",
                      "UNICHAIN_MAINNET",
                      "OPENLOOT_SEPOLIA",
                      "ABSTRACT_TESTNET",
                      "UNICHAIN_SEPOLIA",
                      "ABSTRACT_MAINNET",
                      "BERACHAIN_BEPOLIA",
                      "ROBINHOOD_MAINNET",
                      "ROBINHOOD_TESTNET",
                      "BERACHAIN_MAINNET",
                      "HYPERLIQUID_MAINNET"
                    ],
                    "default": "ETH_MAINNET"
                  },
                  "webhook_type": {
                    "type": "string",
                    "description": "Type of webhook.",
                    "enum": [
                      "GRAPHQL",
                      "ADDRESS_ACTIVITY",
                      "NFT_ACTIVITY"
                    ]
                  },
                  "webhook_url": {
                    "type": "string",
                    "description": "URL endpoint where the webhook is sent"
                  },
                  "is_active": {
                    "type": "boolean",
                    "description": "True if the webhook is active, false otherwise."
                  },
                  "time_created": {
                    "type": "integer",
                    "description": "Timestamp when the webhook was created."
                  },
                  "version": {
                    "type": "string",
                    "description": "Webhook version (v1 or v2)"
                  },
                  "signing_key": {
                    "type": "string",
                    "description": "Signing key for the webhook."
                  }
                }
              },
              {
                "type": "object",
                "properties": {
                  "signing_key": {
                    "type": "string",
                    "description": "Signing key for the webhook."
                  }
                }
              }
            ]
          }
        }
      },
      "webhook_nft_filters_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "List of NFT filter objects.",
            "items": {
              "type": "object",
              "properties": {
                "contract_address": {
                  "type": "string",
                  "description": "Contract address for an NFT. If this field and the `token_id` aren't set, all NFT activity updates will be sent."
                },
                "token_id": {
                  "type": "string",
                  "description": "Token ID for an NFT (decimal or \"0x\" prefixed hex string). Cannot be set if `contract_address` is not provided."
                }
              }
            }
          },
          "pagination": {
            "type": "object",
            "description": "Pagination information.",
            "properties": {
              "cursors": {
                "type": "object",
                "description": "Pagination cursors.",
                "properties": {
                  "after": {
                    "type": "string",
                    "description": "The cursor that points to the end of the current set of results."
                  }
                }
              },
              "total_count": {
                "type": "integer",
                "description": "Total number of NFT filters."
              }
            }
          }
        }
      },
      "webhook_addresses_response": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "List of addresses associated with the webhook.",
            "items": {
              "type": "string"
            }
          },
          "pagination": {
            "type": "object",
            "description": "Pagination information.",
            "properties": {
              "cursors": {
                "type": "object",
                "description": "Pagination cursors.",
                "properties": {
                  "after": {
                    "type": "string",
                    "description": "The cursor that points to the end of the current set of results."
                  }
                }
              },
              "total_count": {
                "type": "integer",
                "description": "Total number of addresses."
              }
            }
          }
        }
      }
    }
  }
}
