Webflow API and Documentation Webhooks API

Webhooks are the webhooks in your Webflow site.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/webflow-api-and-documentation-webflow-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

webflow-api-and-documentation-webflow-webhooks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Webflow Collections Asset Folders Webhooks API
  description: Webflow Data API v2 - Collections endpoints.
  version: 2.0.0
  contact:
    name: Webflow Developer Relations
    email: developers@webflow.com
    url: https://developers.webflow.com
  termsOfService: https://webflow.com/legal/terms
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://api.webflow.com/v2
  description: Webflow API v2
  x-fern-server-name: Data API
security:
- OAuth2: []
- ApiKey: []
tags:
- name: Webhooks
  description: Webhooks are the webhooks in your Webflow site.
paths:
  /sites/{site_id}/webhooks:
    get:
      x-fern-sdk-group-name: webhooks
      x-fern-sdk-method-name: list
      operationId: list-webhooks
      summary: Webflow List Webhooks
      description: 'List all App-created Webhooks registered for a given site


        Required scope | `sites:read`

        '
      tags:
      - Webhooks
      parameters:
      - name: site_id
        in: path
        description: Unique identifier for a Site
        example: 580e63e98c9a982ac9b8b741
        required: true
        schema:
          type: string
          format: objectid
          default: null
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                example:
                  webhooks:
                  - id: 57ca0a9e418c504a6e1acbb6
                    triggerType: form_submission
                    siteId: 562ac0395358780a1f5e6fbd
                    workspaceId: 4f4e46fd476ea8c507000001
                    filter:
                      name: Email Form
                    createdOn: '2016-09-02T23:26:22.241Z'
                    lastTriggered: '2023-02-08T23:59:28.572Z'
                    url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
                  - id: 578d85cce0c47cd2865f4cf2
                    triggerType: form_submission
                    siteId: 562ac0395358780a1f5e6fbd
                    workspaceId: 4f4e46fd476ea8c507000001
                    filter:
                      name: Email Form
                    createdOn: '2016-07-19T01:43:40.585Z'
                    lastTriggered: '2023-02-08T23:59:28.572Z'
                    url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
                  - id: 578d85cce0c47cd2865f4cf3
                    triggerType: form_submission
                    siteId: 562ac0395358780a1f5e6fbd
                    workspaceId: 4f4e46fd476ea8c507000001
                    filter:
                      name: Email Form
                    createdOn: '2016-07-19T01:43:40.605Z'
                    lastTriggered: '2023-02-08T23:59:28.572Z'
                    url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
                properties:
                  webhooks:
                    type: array
                    items:
                      example:
                        id: 582266e0cd48de0f0e3c6d8b
                        triggerType: form_submission
                        siteId: 562ac0395358780a1f5e6fbd
                        workspaceId: 4f4e46fd476ea8c507000001
                        createdOn: '2022-11-08T23:59:28.572Z'
                        lastTriggered: '2023-02-08T23:59:28.572Z'
                        filter: null
                        url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
                      properties:
                        id:
                          readOnly: true
                          type: string
                          format: objectid
                          example: 57ca0a9e418c504a6e1acbb6
                          description: Unique identifier for the Webhook registration
                        triggerType:
                          type: string
                          example: form_submission
                          description: 'The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).

                            '
                          enum:
                          - form_submission
                          - site_publish
                          - page_created
                          - page_metadata_updated
                          - page_deleted
                          - ecomm_new_order
                          - ecomm_order_changed
                          - ecomm_inventory_changed
                          - collection_item_created
                          - collection_item_changed
                          - collection_item_deleted
                          - collection_item_published
                          - collection_item_unpublished
                          - comment_created
                        url:
                          type: string
                          example: https://example.com/webhook
                          description: URL to send the Webhook payload to
                        workspaceId:
                          readOnly: true
                          type: string
                          format: objectid
                          example: 580e63e98c9a982ac9b8b741
                          description: Unique identifier for the Workspace the Webhook is registered in
                        siteId:
                          readOnly: true
                          type: string
                          format: objectid
                          example: 562ac0395358780a1f5e6fbd
                          description: Unique identifier for the Site the Webhook is registered in
                        filter:
                          description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
                          type: object
                          properties:
                            name:
                              type: string
                              description: The name of the form you'd like to recieve notifications for.
                              example: My Form
                        lastTriggered:
                          readOnly: true
                          type: string
                          format: date-time
                          example: '2016-09-06T21:12:22.148Z'
                          description: Date the Webhook instance was last triggered
                        createdOn:
                          readOnly: true
                          type: string
                          format: date-time
                          example: '2016-09-02T23:26:22.241Z'
                          description: Date the Webhook registration was created
                  pagination:
                    description: Pagination object
                    type: object
                    required:
                    - limit
                    - offset
                    - total
                    properties:
                      limit:
                        type: integer
                        description: The limit used for pagination
                        example: 100
                        readOnly: true
                      offset:
                        type: integer
                        description: The offset used for pagination
                        example: 0
                        readOnly: true
                      total:
                        type: integer
                        description: The total number of records
                        example: 100
                        readOnly: true
        '400':
          description: Request body was incorrectly formatted.
          x-logErrorCode: 400
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: bad_request
                message: 'Bad Request: Request is malformed'
                externalReference: null
                details: []
        '401':
          description: Provided access token is invalid or does not have access to requested resource
          x-logErrorCode: 401
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: not_authorized
                message: Request not authorized
                externalReference: null
                details: []
        '404':
          description: Requested resource not found
          x-logErrorCode: 404
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: resource_not_found
                message: 'Requested resource not found: The site cannot be found'
                externalReference: null
                details: []
        '429':
          description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.
          x-logErrorCode: 429
          headers:
            X-RateLimit-Remaining:
              description: Contains the number of available requests remaining in the current minute
              schema:
                type: number
            X-RateLimit-Limit:
              description: Contains your current overall rate limit per minute
              schema:
                type: number
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: too_many_requests
                message: Too many requests
                externalReference: null
                details: []
        '500':
          description: We had a problem with our server. Try again later.
          content:
            application/json:
              x-logErrorCode: 500
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: internal_error
                message: An Internal Error occurred
                externalReference: null
                details: []
    post:
      x-fern-sdk-group-name: webhooks
      x-fern-sdk-method-name: create
      operationId: create-webhook
      summary: Webflow Create Webhook
      description: 'Create a new Webhook.


        Limit of 75 registrations per `triggerType`, per site.


        <Note>Access to this endpoint requires a bearer token from a [Data Client App](/data/docs/getting-started-data-clients).</Note>

        Required scope | `sites:write`

        '
      tags:
      - Webhooks
      parameters:
      - name: site_id
        in: path
        description: Unique identifier for a Site
        example: 580e63e98c9a982ac9b8b741
        required: true
        schema:
          type: string
          format: objectid
          default: null
      requestBody:
        description: The Webhook registration object
        required: true
        content:
          application/json:
            schema:
              example:
                id: 582266e0cd48de0f0e3c6d8b
                triggerType: form_submission
                siteId: 562ac0395358780a1f5e6fbd
                workspaceId: 4f4e46fd476ea8c507000001
                createdOn: '2022-11-08T23:59:28.572Z'
                lastTriggered: '2023-02-08T23:59:28.572Z'
                filter: null
                url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
              properties:
                id:
                  readOnly: true
                  type: string
                  format: objectid
                  example: 57ca0a9e418c504a6e1acbb6
                  description: Unique identifier for the Webhook registration
                triggerType:
                  type: string
                  example: form_submission
                  description: 'The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).

                    '
                  enum:
                  - form_submission
                  - site_publish
                  - page_created
                  - page_metadata_updated
                  - page_deleted
                  - ecomm_new_order
                  - ecomm_order_changed
                  - ecomm_inventory_changed
                  - collection_item_created
                  - collection_item_changed
                  - collection_item_deleted
                  - collection_item_published
                  - collection_item_unpublished
                  - comment_created
                url:
                  type: string
                  example: https://example.com/webhook
                  description: URL to send the Webhook payload to
                workspaceId:
                  readOnly: true
                  type: string
                  format: objectid
                  example: 580e63e98c9a982ac9b8b741
                  description: Unique identifier for the Workspace the Webhook is registered in
                siteId:
                  readOnly: true
                  type: string
                  format: objectid
                  example: 562ac0395358780a1f5e6fbd
                  description: Unique identifier for the Site the Webhook is registered in
                filter:
                  description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the form you'd like to recieve notifications for.
                      example: My Form
                lastTriggered:
                  readOnly: true
                  type: string
                  format: date-time
                  example: '2016-09-06T21:12:22.148Z'
                  description: Date the Webhook instance was last triggered
                createdOn:
                  readOnly: true
                  type: string
                  format: date-time
                  example: '2016-09-02T23:26:22.241Z'
                  description: Date the Webhook registration was created
      responses:
        '201':
          description: Request was successful
          content:
            application/json:
              schema:
                example:
                  id: 582266e0cd48de0f0e3c6d8b
                  triggerType: form_submission
                  siteId: 562ac0395358780a1f5e6fbd
                  workspaceId: 4f4e46fd476ea8c507000001
                  createdOn: '2022-11-08T23:59:28.572Z'
                  lastTriggered: '2023-02-08T23:59:28.572Z'
                  filter: null
                  url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
                properties:
                  id:
                    readOnly: true
                    type: string
                    format: objectid
                    example: 57ca0a9e418c504a6e1acbb6
                    description: Unique identifier for the Webhook registration
                  triggerType:
                    type: string
                    example: form_submission
                    description: 'The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).

                      '
                    enum:
                    - form_submission
                    - site_publish
                    - page_created
                    - page_metadata_updated
                    - page_deleted
                    - ecomm_new_order
                    - ecomm_order_changed
                    - ecomm_inventory_changed
                    - collection_item_created
                    - collection_item_changed
                    - collection_item_deleted
                    - collection_item_published
                    - collection_item_unpublished
                    - comment_created
                  url:
                    type: string
                    example: https://example.com/webhook
                    description: URL to send the Webhook payload to
                  workspaceId:
                    readOnly: true
                    type: string
                    format: objectid
                    example: 580e63e98c9a982ac9b8b741
                    description: Unique identifier for the Workspace the Webhook is registered in
                  siteId:
                    readOnly: true
                    type: string
                    format: objectid
                    example: 562ac0395358780a1f5e6fbd
                    description: Unique identifier for the Site the Webhook is registered in
                  filter:
                    description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
                    type: object
                    properties:
                      name:
                        type: string
                        description: The name of the form you'd like to recieve notifications for.
                        example: My Form
                  lastTriggered:
                    readOnly: true
                    type: string
                    format: date-time
                    example: '2016-09-06T21:12:22.148Z'
                    description: Date the Webhook instance was last triggered
                  createdOn:
                    readOnly: true
                    type: string
                    format: date-time
                    example: '2016-09-02T23:26:22.241Z'
                    description: Date the Webhook registration was created
        '400':
          description: Request body was incorrectly formatted.
          x-logErrorCode: 400
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: bad_request
                message: 'Bad Request: Request is malformed'
                externalReference: null
                details: []
        '401':
          description: Provided access token is invalid or does not have access to requested resource
          

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webflow-api-and-documentation-webflow/refs/heads/main/openapi/webflow-api-and-documentation-webflow-webhooks-api-openapi.yml