Juniper Mist AI Orgs Webhooks API

An Org Webhook is a configuration that allows real-time events and data from the Org to be pushed to a provided url. It enables the collection of information about various topics such as device events, alarms, and audits updates at the org level. The Webhook can be set up and customized using the Mist API, allowing users to receive and analyze specific data from a particular site.

OpenAPI Specification

mist-ai-orgs-webhooks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2604.1.1**

    >

    > Date: **May 13, 2026**

    <div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>


    ---

    ## Additional Documentation

    * [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)

    * [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)

    * [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)


    ## Helpful Resources

    * [API Sandbox and Exercises](https://api-class.mist.com/)

    * [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)

    * [Python Script Examples](https://github.com/tmunzer/mist_library)

    * [API Demo Apps](https://apps.mist-lab.fr/)

    * [Juniper Blog](https://blogs.juniper.net/)


    ## Mist Web Browser Extension:

    * Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)

    * Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Orgs Webhooks API
  version: 2604.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- basicAuth: []
- basicAuth: []
  csrfToken: []
tags:
- description: 'An Org Webhook is a configuration that allows real-time events and data from the Org to be pushed to a provided url.


    It enables the collection of information about various topics such as device events, alarms, and audits updates at the org level.


    The Webhook can be set up and customized using the Mist API, allowing users to receive and analyze specific data from a particular site.'
  name: Orgs Webhooks
paths:
  /api/v1/orgs/{org_id}/webhooks:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: Get List of Org Webhooks
      operationId: listOrgWebhooks
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/WebhooksArray'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgWebhooks
      tags:
      - Orgs Webhooks
    post:
      description: "**N.B**. For org webhooks, only alarms/audits/client-info/client-join/client-sessions/device_events/device-updowns/mxedge_events Infrastructure topics are supported.\n\n\nWebhook defines a webhook, modeled after [github\\u2019s model](https://developer.github.com/webhooks/).\n\n\nThere is two types of webhooks:\n* webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-be01e694-7253-4195-8563-78e2a745e114))        \n* raw data webhooks ([examples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace/folder/224925-e2d5d5f8-4bdb-4efc-93e4-90f4b33d0b2b))\n\n\n##### Webhooks\nWebhooks can be configured at the org level (subset of topics only) and at the site level. It is possible to have multiple topics in the same webhook configuration and/or to have multiple webhooks configured at the same time.\n"
      operationId: createOrgWebhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhook'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/Webhook'
        '400':
          $ref: '#/components/responses/HTTP400Webhook'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: createOrgWebhook
      tags:
      - Orgs Webhooks
  /api/v1/orgs/{org_id}/webhooks/{webhook_id}:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/webhook_id'
    delete:
      description: Delete Org Webhook
      operationId: deleteOrgWebhook
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: deleteOrgWebhook
      tags:
      - Orgs Webhooks
    get:
      description: Get Org Webhook Details
      operationId: getOrgWebhook
      responses:
        '200':
          $ref: '#/components/responses/Webhook'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgWebhook
      tags:
      - Orgs Webhooks
    put:
      description: Update Org Webhook
      operationId: updateOrgWebhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhook'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/Webhook'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: updateOrgWebhook
      tags:
      - Orgs Webhooks
  /api/v1/orgs/{org_id}/webhooks/{webhook_id}/events/count:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/webhook_id'
    get:
      description: 'Count Org Webhooks deliveries



        Topics Supported:

        - alarms

        - audits

        - device-updowns

        - occupancy-alerts

        - ping'
      operationId: countOrgWebhooksDeliveries
      parameters:
      - in: query
        name: error
        schema:
          type: string
      - in: query
        name: status_code
        schema:
          type: integer
      - description: Webhook delivery status
        in: query
        name: status
        schema:
          $ref: '#/components/schemas/webhook_delivery_status'
      - description: Webhook topic
        in: query
        name: topic
        schema:
          $ref: '#/components/schemas/webhook_delivery_topic'
      - in: query
        name: distinct
        schema:
          $ref: '#/components/schemas/webhook_delivery_distinct'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: countOrgWebhooksDeliveries
      tags:
      - Orgs Webhooks
  /api/v1/orgs/{org_id}/webhooks/{webhook_id}/events/search:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/webhook_id'
    get:
      description: 'Search Org Webhooks deliveries



        Topics Supported:

        - alarms

        - audits

        - device-updowns

        - occupancy-alerts

        - ping'
      operationId: searchOrgWebhooksDeliveries
      parameters:
      - in: query
        name: error
        schema:
          type: string
      - in: query
        name: status_code
        schema:
          type: integer
      - description: Webhook delivery status
        in: query
        name: status
        schema:
          $ref: '#/components/schemas/webhook_delivery_status'
      - description: Webhook topic
        in: query
        name: topic
        schema:
          $ref: '#/components/schemas/webhook_delivery_topic'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/sort'
      - $ref: '#/components/parameters/search_after'
      responses:
        '200':
          $ref: '#/components/responses/WebhookDeliverySearch'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: searchOrgWebhooksDeliveries
      tags:
      - Orgs Webhooks
  /api/v1/orgs/{org_id}/webhooks/{webhook_id}/ping:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/webhook_id'
    post:
      description: Send a Ping event to the webhook
      operationId: pingOrgWebhook
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: pingOrgWebhook
      tags:
      - Orgs Webhooks
components:
  schemas:
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    response_count:
      additionalProperties: false
      properties:
        distinct:
          type: string
        end:
          type: integer
        limit:
          type: integer
        results:
          $ref: '#/components/schemas/count_results'
        start:
          type: integer
        total:
          type: integer
      required:
      - distinct
      - end
      - limit
      - results
      - start
      - total
      type: object
    search_webhook_delivery_results:
      items:
        $ref: '#/components/schemas/webhook_delivery'
      type: array
    webhook_delivery_status:
      description: 'webhook delivery status. enum: `failure`, `success`'
      enum:
      - failure
      - success
      examples:
      - failure
      type: string
    response_http403:
      additionalProperties: false
      properties:
        detail:
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    search_webhook_delivery:
      additionalProperties: false
      properties:
        end:
          examples:
          - 1688035193
          type: integer
        limit:
          examples:
          - 10
          type: integer
        next:
          type: string
        results:
          $ref: '#/components/schemas/search_webhook_delivery_results'
        start:
          examples:
          - 1687948793
          type: integer
        total:
          type: integer
      type: object
    webhook_assetfilter_ids:
      description: Only if `type`==`asset-raw-rssi`. List of ids to associated asset filters. These filters will be applied to messages routed to a filtered-asset-rssi webhook
      items:
        format: uuid
        type: string
      type: array
    webhook_delivery_topic:
      description: 'webhook topic. enum: `alarms`, `audits`, `device-updowns`, `occupancy-alerts`, `ping`'
      enum:
      - alarms
      - audits
      - device-updowns
      - occupancy-alerts
      - ping
      examples:
      - audits
      type: string
    count_results:
      items:
        $ref: '#/components/schemas/count_result'
      type: array
      uniqueItems: true
    count_result:
      additionalProperties:
        type: string
      properties:
        count:
          type: integer
      required:
      - count
      type: object
    webhook_oauth2_grant_type:
      description: 'required when `type`==`oauth2`. enum: `client_credentials`, `password`'
      enum:
      - client_credentials
      - password
      type: string
    webhook_delivery:
      additionalProperties: false
      properties:
        error:
          description: Error message, if there is one
          type: string
        id:
          $ref: '#/components/schemas/id'
        org_id:
          $ref: '#/components/schemas/org_id'
        req_headers:
          description: HTTP request headers
          examples:
          - '{\"Content-Type\":[\"application/json\"],\"User-Agent\":[\"Mist-webhook\"]}'
          type: string
        req_payload:
          description: HTTP request payload
          examples:
          - '{\"topic\":\"audits\",\"events\":[{\"admin_name\":\"John Doe john.doe@juniper.net\",\"after\":\"{\\"radio_config\\": {\\"band_24\\": {\\"disabled\\": false, \\"allow_rrm_disable\\": false, \\"power_min\\": null, \\"power_max\\": null, \\"power\\": 10, \\"preamble\\": \\"short\\", \\"channels\\": [1, 10], \\"bandwidth\\": 20}}}\",\"before\":\"{\\"radio_config\\": {\\"band_24\\": {\\"disabled\\": false, \\"allow_rrm_disable\\": false, \\"power_min\\": 8, \\"power_max\\": 18, \\"power\\": null, \\"preamble\\": \\"long\\", \\"channels\\": [1, 10], \\"bandwidth\\": 20}}}\",\"id\":\"737909a2-04ff-4aeb-b9da-cc924e74a4dd\",\"message\":\"Update Site Settings\",\"org_id\":\"fc7e2967-e7ef-41e6-b007-1217713de05a\",\"site_id\":\"256c3a35-9cb7-436e-bc6d-314972645d95\",\"site_name\":\"Test Site\",\"src_ip\":\"1.2.3.4\",\"timestamp\":1685956576.923601,\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36\"}]}'
          type: string
        req_url:
          description: HTTP request URL
          examples:
          - https://example.com
          type: string
        resp_body:
          description: HTTP response body
          examples:
          - Ok
          type: string
        resp_headers:
          description: HTTP response headers
          type: string
        site_id:
          $ref: '#/components/schemas/site_id'
        status:
          $ref: '#/components/schemas/webhook_delivery_status'
        status_code:
          examples:
          - 200
          type: integer
        timestamp:
          $ref: '#/components/schemas/timestamp'
        topic:
          $ref: '#/components/schemas/webhook_delivery_topic'
        webhook_id:
          examples:
          - 7a11b901-f719-4c91-8aef-deb8699a6364
          format: uuid
          type: string
      type: object
    webhook_type:
      default: http-post
      description: 'enum: `aws-sns`, `google-pubsub`, `http-post`, `oauth2`, `splunk`'
      enum:
      - aws-sns
      - google-pubsub
      - http-post
      - oauth2
      - splunk
      type: string
    site_id:
      examples:
      - 441a1214-6928-442a-8e92-e1d34b8ec6a6
      format: uuid
      readOnly: true
      type: string
    webhook:
      properties:
        assetfilter_ids:
          $ref: '#/components/schemas/webhook_assetfilter_ids'
        created_time:
          $ref: '#/components/schemas/created_time'
        enabled:
          default: true
          description: Whether webhook is enabled
          type: boolean
        for_site:
          readOnly: true
          type: boolean
        headers:
          additionalProperties:
            type: string
          description: If `type`=`http-post`, additional custom HTTP headers to add. The headers name and value must be string, total bytes of headers name and value must be less than 1000
          examples:
          - x-custom-1: your_custom_header_value1
            x-custom-2: your_custom_header_value2
          type:
          - object
          - 'null'
        id:
          $ref: '#/components/schemas/id'
        modified_time:
          $ref: '#/components/schemas/modified_time'
        name:
          description: Name of the webhook
          type:
          - string
          - 'null'
        oauth2_client_id:
          description: Required when `oauth2_grant_type`==`client_credentials`
          type: string
        oauth2_client_secret:
          description: Required when `oauth2_grant_type`==`client_credentials`
          format: password
          type: string
        oauth2_grant_type:
          $ref: '#/components/schemas/webhook_oauth2_grant_type'
        oauth2_password:
          description: Required when `oauth2_grant_type`==`password`
          format: password
          type: string
        oauth2_scopes:
          $ref: '#/components/schemas/webhook_oauth2_scopes'
        oauth2_token_url:
          description: Required when `type`==`oauth2`
          type: string
        oauth2_username:
          description: Required when `oauth2_grant_type`==`password`
          type: string
        org_id:
          $ref: '#/components/schemas/org_id'
        secret:
          description: "Only if `type`=`http-post` \n\nwhen `secret` is provided, two HTTP headers will be added: \n  * X-Mist-Signature-v2: HMAC_SHA256(secret, body)\n  * X-Mist-Signature: HMAC_SHA1(secret, body)"
          type:
          - string
          - 'null'
        single_event_per_message:
          default: false
          description: Some solutions may not be able to parse multiple events from a single message (e.g. IBM Qradar, DSM). When set to `true`, only a single event will be sent per message. this feature is only available on certain topics (see [List Webhook Topics](/#operations/listWebhookTopics))
          type: boolean
        site_id:
          $ref: '#/components/schemas/site_id'
        splunk_token:
          description: Required if `type`=`splunk`. If splunk_token is not defined for a type Splunk webhook, it will not send, regardless if the webhook receiver is configured to accept it.
          type:
          - string
          - 'null'
        topics:
          $ref: '#/components/schemas/webhook_topics'
        type:
          $ref: '#/components/schemas/webhook_type'
        url:
          type: string
        verify_cert:
          default: true
          description: When url uses HTTPS, whether to verify the certificate
          type: boolean
      type: object
    response_http404:
      additionalProperties: false
      properties:
        id:
          type: string
      type: object
    timestamp:
      description: Epoch (seconds)
      format: double
      readOnly: true
      type: number
    response_http400_webhook:
      additionalProperties: false
      properties:
        detail:
          examples:
          - 'invalid field: assetfilter_ids'
          type: string
        reason:
          examples:
          - contains duplicate uuids
          type: string
      type: object
    modified_time:
      description: When the object has been modified for the last time, in epoch
      format: double
      readOnly: true
      type: number
    webhooks:
      items:
        $ref: '#/components/schemas/webhook'
      type: array
    response_http400:
      additionalProperties: false
      properties:
        detail:
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
          type: string
      type: object
    webhook_topics:
      description: List of supported webhook topics available with the API Call [List Webhook Topics](/#operations/listWebhookTopics)
      items:
        type: string
      type: array
    webhook_oauth2_scopes:
      description: Required when `type`==`oauth2`, if provided, will be used in the token request
      items:
        type: string
      type: array
    response_http429:
      additionalProperties: false
      properties:
        detail:
          examples:
          - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
          type: string
      type: object
    webhook_delivery_distinct:
      description: 'webhook topic. enum: `status`, `status_code`, `topic`, `webhook_id`'
      enum:
      - status
      - status_code
      - topic
      - webhook_id
      examples:
      - webhook_id
      type: string
    response_http401:
      additionalProperties: false
      properties:
        detail:
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    org_id:
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    created_time:
      description: When the object has been created, in epoch
      format: double
      readOnly: true
      type: number
  examples:
    CountExample:
      value:
        distinct: string
        end: 0
        limit: 0
        results:
        - count: 0
          property: string
        start: 0
        total: 0
    HTTP400WebhookMalformedassetfilterid:
      value:
        detail: 'invalid field: assetfilter_ids'
    WebhookExample:
      value:
        created_time: 0
        enabled: true
        headers: {}
        id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
        modified_time: 0
        name: string
        org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
        secret: string
        site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
        splunk_token: string
        topics:
        - location
        type: http-post
        url: string
        verify_cert: true
    HTTP400WebhookInvalidassetfilterid:
      value:
        detail: 'invalid field: assetfilter_ids'
    HTTP400Example:
      value:
        detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
    HTTP403Example:
      value:
        detail: You do not have permission to perform this action.
    HTTP429Example:
      value:
        detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
    HTTP400Webhookorglevelfilterwebhook:
      value:
        detail: 'invalid field: topics'
        reason: filtered asset webhooks must be associated with a site
    HTTP401Example:
      value:
        detail: Authentication credentials were not provided.
    WebhooksArrayExample:
      value:
      - created_time: 0
        enabled: true
        headers: {}
        id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
        modified_time: 0
        name: string
        org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
        secret: string
        site_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
        splunk_token: string
        topics:
        - location
        type: http-post
        url: string
        verify_cert: true
    WebhookDeliverySearchWebhookDeliveries:
      value:
        end: 1688035193
        limit: 10
        results:
        - error: string
          id: 55b0f02f-ebf6-4ad2-8b10-200508a97581
          org_id: fc7e2967-e7ef-41e6-b007-1217713de05a
          req_headers: '{\"Content-Type\":[\"application/json\"],\"User-Agent\":[\"Mist-webhook\"]}'
          req_payload: '{\"topic\":\"audits\",\"events\":[{\"admin_name\":\"John Doe john.doe@juniper.net\",\"after\":\"{\\"radio_config\\": {\\"band_24\\": {\\"disabled\\": false, \\"allow_rrm_disable\\": false, \\"power_min\\": null, \\"power_max\\": null, \\"power\\": 10, \\"preamble\\": \\"short\\", \\"channels\\": [1, 10], \\"bandwidth\\": 20}}}\",\"before\":\"{\\"radio_config\\": {\\"band_24\\": {\\"disabled\\": false, \\"allow_rrm_disable\\": false, \\"power_min\\": 8, \\"power_max\\": 18, \\"power\\": null, \\"preamble\\": \\"long\\", \\"channels\\": [1, 10], \\"bandwidth\\": 20}}}\",\"id\":\"737909a2-04ff-4aeb-b9da-cc924e74a4dd\",\"message\":\"Update Site Settings\",\"org_id\":\"fc7e2967-e7ef-41e6-b007-1217713de05a\",\"site_id\":\"256c3a35-9cb7-436e-bc6d-314972645d95\",\"site_name\":\"Test Site\",\"src_ip\":\"1.2.3.4\",\"timestamp\":1685956576.923601,\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36\"}]}'
          req_url: https://example.com
          resp_body: Ok
          resp_headers: string
          site_id: 256c3a35-9cb7-436e-bc6d-314972645d95
          status: success
          status_code: 200
          timestamp: 1687962508.583656
          topic: audits
          webhook_id: 7a11b901-f719-4c91-8aef-deb8699a6364
        start: 1687948793
        total: 0
    HTTP400WebhookRawDataWebhookmultipletopics:
      value:
        detail: Only one location topic can be configured per URL
    HTTP400WebhookRawDataWebhookalreadycreated:
      value:
        detail: Webhook already configured for special location topic
    HTTP400WebhookDuplicateassetfilterid:
      value:
        detail: 'invalid field: assetfilter_ids'
        reason: contains duplicate uuids
  responses:
    HTTP400Webhook:
      content:
        application/json:
          examples:
            Duplicate_assetfilter_id:
              $ref: '#/components/examples/HTTP400WebhookDuplicateassetfilterid'
            Invalid_assetfilter_id:
              $ref: '#/components/examples/HTTP400WebhookInvalidassetfilterid'
            Malformed_assetfilter_id:
              $ref: '#/components/examples/HTTP400WebhookMalformedassetfilterid'
            RawDataWebhook_already_created:
              $ref: '#/components/examples/HTTP400WebhookRawDataWebhookalreadycreated'
            RawDataWebhook_multiple_topics:
              $ref: '#/components/examples/HTTP400WebhookRawDataWebhookmultipletopics'
            org_level_filter_webhook:
              $ref: '#/components/examples/HTTP400Webhookorglevelfilterwebhook'
          schema:
            $ref: '#/components/schemas/response_http400_webhook'
        application/vnd.api+json:
          examples:
            Duplicate_assetfilter_id:
              $ref: '#/components/examples/HTTP400WebhookDuplicateassetfilterid'
            Invalid_assetfilter_id:
              $ref: '#/components/examples/HTTP400WebhookInvalidassetfilterid'
            Malformed_assetfilter_id:
              $ref: '#/components/examples/HTTP400WebhookMalformedassetfilterid'
            RawDataWebhook_already_created:
              $ref: '#/components/examples/HTTP400WebhookRawDataWebhookalreadycreated'
            RawDataWebhook_multiple_topics:
              $ref: '#/components/examples/HTTP400WebhookRawDataWebhookmultipletopics'
            org_level_filter_webhook:
              $ref: '#/components/examples/HTTP400Webhookorglevelfilterwebhook'
          schema:
            $ref: '#/components/schemas/response_http400_webhook'
      description: Bad Syntax
    Webhook:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/WebhookExample'
          schema:
            $ref: '#/components/schemas/webhook'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/WebhookExample'
          schema:
            $ref: '#/components/schemas/webhook'
      description: OK
    HTTP404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/response_http404'
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/response_http404'
      description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist
    HTTP429:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP429Example'
          schema:
            $ref: '#/components/schemas/response_http429'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP429Example'
          schema:
            $ref: '#/components/schemas/response_http429'
      description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
    HTTP403:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP403Example'
          schema:
            $ref: '#/components/schemas/response_http403'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP403Example'
          schema:
            $ref: '#/components/schemas/response_http403'
      description: Permission Denied
    HTTP400:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP400Example'
          schema:
            $ref: '#/components/schemas/response_http400'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP400Example'
          schema:
            $ref: '#/components/schemas/response_http400'
      description: Bad Syntax
    WebhooksArray:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/WebhooksArrayExample'
          schema:
            $ref: '#/components/schemas/webhooks'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/WebhooksArrayExample'
          schema:
            $ref: '#/components/schemas/webhooks'
      description: OK
    WebhookDeliverySearch:
      content:
        application/json:
          examples:
            Webhook Deliveries:
              $ref: '#/components/examples/WebhookDeliverySearchWebhookDeliveries'
          schema:
            $ref: '#/components/schemas/search_webhook_delivery'
        application/vnd.api+json:
          examples:
            Webhook Deliveries:
              $ref: '#/components/examples/WebhookDeliverySearchWebhookDeliveries'
          schema:
            $ref: '#/components/schemas/search_webhook_delivery'
      description: Example response
    OK:
      description: OK
    HTTP401:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP401Example'
          schema:
            $ref: '#/components/schemas/response_http401'
        application/vnd.api+json:
          examples:
            Example:
              $ref: '#/components/examples/HTTP401Example'
          schema:
            $ref: '#/components/schemas/response_http401'
      description: Unauthorized
    Count:
      content:
        application/json:
          examples:
            Example:
              $ref: '#/components/examples/CountExample'
          schema:
            $ref: '#/components/schemas/response_count'
        appli

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist-ai/refs/heads/main/openapi/mist-ai-orgs-webhooks-api-openapi.yml