Cisco XDR Webhook API

Webhook Routes

OpenAPI Specification

cisco-xdr-webhook-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IROH service Webhook API
  version: 1.0.107
  license:
    name: All Rights Reserved
    url: https://www.cisco.com
  contact:
    name: Cisco Security Business Group -- Advanced Threat
    email: cisco-intel-api-support@cisco.com
  description: IROH Webhook API
  x-provenance:
    method: harvested
    authored_by: Cisco XDR
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
  x-evidence:
  - type: source
    url: https://visibility.amp.cisco.com/iroh/iroh-webhook/index.html
  - type: raw
    url: https://visibility.amp.cisco.com/iroh/iroh-webhook/swagger.json
servers:
- url: https://visibility.amp.cisco.com/
security:
- iroh: []
- AuthorizationHeader: []
- oauth2:
  - telemetry
  - integration
  - private-intel
  - admin
  - cognitive
  - profile
  - inspect
  - asset
  - event
  - feedback
  - sse
  - registry
  - users
  - investigation
  - invite
  - casebook
  - orbital
  - enrich
  - oauth
  - vault
  - response
  - notification
  - global-intel:read
  - webhook
  - ao
tags:
- name: Webhook
  description: Webhook Routes
paths:
  /iroh/iroh-webhook/webhook/{id}:
    get:
      x-no-doc: false
      tags:
      - Webhook
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/edn:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Webhook'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `webhook/management:read`


        '
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      summary: Get a `Webhook`
    patch:
      x-no-doc: false
      tags:
      - Webhook
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/edn:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Webhook'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `webhook/management:write`


        '
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      summary: Update a `Webhook`
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchWebhookParams'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/PatchWebhookParams'
          application/edn:
            schema:
              $ref: '#/components/schemas/PatchWebhookParams'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/PatchWebhookParams'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/PatchWebhookParams'
        required: true
    delete:
      x-no-doc: false
      tags:
      - Webhook
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `admin/webhook/management:write,webhook/management:write`


        '
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      summary: Delete a `Webhook`
      responses:
        default:
          description: ''
  /iroh/iroh-webhook/webhook:
    get:
      x-no-doc: false
      tags:
      - Webhook
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
            application/x-yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
            application/edn:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
            application/transit+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
            application/transit+msgpack:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `webhook/management:read`


        '
      parameters:
      - in: query
        name: webhook_type
        description: should the Webhook Trigger an API or an AO Workflow
        required: false
        schema:
          type: string
          enum:
          - workflow
          - url
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
          enum:
          - iroh-events
          - ctia-events
      - in: query
        name: enabled
        description: ''
        required: false
        schema:
          type: boolean
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: event_type_filter
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - private-intel/note/created
            - record-created
            - auto/workflow/completed
            - private-intel/incident/created
            - private-intel/incident/high-impact/created
            - record-updated
            - auto/workflow/errored
            - private-intel/incident/deleted
            - user/updated
            - private-intel/note/deleted
            - piam-entitlements/updated
            - scc-tenant/created
            - private-intel/incident/last-activity-change
            - private-intel/incident/status-changed
            - org/deleting
            - private-intel/note/updated
            - module-instance/restricted
            - module-instance/reactivated
            - notification-request/created
            - private-intel/incident/asset-enrichment/succeeded
            - entitlements/updated
            - auto/workflow/started
            - record-deleted
            - private-intel/incident/updated
            - user/deleted
            - module-instance/updated
            - module-instance/created
            - user/created
            - module-instance/deleted
            - scc-tenant/updated
      - in: query
        name: record_type_filter
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - feedback
            - investigation
            - data-table
            - relationship
            - vulnerability
            - judgement
            - weakness
            - coa
            - attack-pattern
            - incident
            - indicator
            - campaign
            - sighting
            - casebook
            - identity-assertion
            - malware
            - actor
      summary: List `Webhook`s
    post:
      x-no-doc: false
      tags:
      - Webhook
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/edn:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Webhook'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Webhook'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `webhook/management:write`


        '
      summary: Create a `Webhook`
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewWebhookParams'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/NewWebhookParams'
          application/edn:
            schema:
              $ref: '#/components/schemas/NewWebhookParams'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/NewWebhookParams'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/NewWebhookParams'
        required: true
components:
  schemas:
    PatchWebhookParams:
      type: object
      properties:
        integration_id:
          description: id of the integration this record belongs to
          type:
          - string
          - 'null'
        webhook_type:
          description: should the Webhook Trigger an API or an AO Workflow
          type: string
          enum:
          - workflow
          - url
        name:
          description: a Name describing the Webhook
          type: string
        source:
          type: string
          enum:
          - iroh-events
          - ctia-events
        auth:
          description: inform authentication mechanism to be used in webhook delivery
          x-oneOf:
          - $ref: '#/components/schemas/PatchWebhookParamsAuth'
        event_filter_map:
          $ref: '#/components/schemas/PatchWebhookParamsEventFilterMap'
        workflow:
          description: if the webhook triggers an AO workflow, the workflow tag
          type:
          - string
          - 'null'
        url:
          description: if the webhook triggers an API, the target URL
          type:
          - string
          - 'null'
        record_type_filter:
          description: trigger on these record types
          type:
          - array
          - 'null'
          items:
            type: string
            enum:
            - feedback
            - investigation
            - data-table
            - relationship
            - vulnerability
            - judgement
            - weakness
            - coa
            - attack-pattern
            - incident
            - indicator
            - campaign
            - sighting
            - casebook
            - identity-assertion
            - malware
            - actor
          uniqueItems: true
        event_type_filter:
          description: trigger on these record lifecycle events
          type: array
          items:
            type: string
            enum:
            - private-intel/note/created
            - record-created
            - auto/workflow/completed
            - private-intel/incident/created
            - private-intel/incident/high-impact/created
            - record-updated
            - auto/workflow/errored
            - private-intel/incident/deleted
            - user/updated
            - private-intel/note/deleted
            - piam-entitlements/updated
            - scc-tenant/created
            - private-intel/incident/last-activity-change
            - private-intel/incident/status-changed
            - org/deleting
            - private-intel/note/updated
            - module-instance/restricted
            - module-instance/reactivated
            - notification-request/created
            - private-intel/incident/asset-enrichment/succeeded
            - entitlements/updated
            - auto/workflow/started
            - record-deleted
            - private-intel/incident/updated
            - user/deleted
            - module-instance/updated
            - module-instance/created
            - user/created
            - module-instance/deleted
            - scc-tenant/updated
          uniqueItems: true
        enabled:
          description: Enable/Disable the Webhook
          type:
          - boolean
          - 'null'
        visibility:
          type: string
          enum:
          - global
          - org
          - user
      additionalProperties: false
    NewWebhookParamsAuthConf:
      type: object
      properties:
        client_id:
          description: client-id of the client that will be used to generate JWT for the webhook creator to the webhook endpoint. This is mandatory for the `iroh-jwt` authentication type and ignored for other authentication types.
          type: string
      additionalProperties: false
      required:
      - client_id
    WebhookAuth:
      type: object
      properties:
        type:
          type: string
          enum:
          - iroh-jwt
        conf:
          $ref: '#/components/schemas/WebhookAuthConf'
      additionalProperties: {}
      required:
      - type
      - conf
    PatchWebhookParamsAuthConf:
      type: object
      properties:
        client_id:
          description: client-id of the client that will be used to generate JWT for the webhook creator to the webhook endpoint. This is mandatory for the `iroh-jwt` authentication type and ignored for other authentication types.
          type: string
      additionalProperties: false
      required:
      - client_id
    Webhook:
      type: object
      properties:
        integration_id:
          description: id of the integration this record belongs to
          type: string
        webhook_type:
          description: should the Webhook Trigger an API or an AO Workflow
          type: string
          enum:
          - workflow
          - url
        name:
          description: a Name describing the Webhook
          type: string
        org_id:
          description: the organization of the user who create the Webhook
          type: string
        source:
          type: string
          enum:
          - iroh-events
          - ctia-events
        auth:
          description: inform authentication mechanism to be used in webhook delivery
          x-oneOf:
          - $ref: '#/components/schemas/WebhookAuth'
        event_filter_map:
          $ref: '#/components/schemas/EventFilterMap'
        updated_at:
          type: string
          format: date-time
        workflow:
          description: if the webhook triggers an AO workflow, the workflow tag
          type: string
        id:
          type: string
        url:
          description: if the webhook triggers an API, the target URL
          type: string
        record_type_filter:
          description: trigger on these record types
          type: array
          items:
            type: string
            enum:
            - feedback
            - investigation
            - data-table
            - relationship
            - vulnerability
            - judgement
            - weakness
            - coa
            - attack-pattern
            - incident
            - indicator
            - campaign
            - sighting
            - casebook
            - identity-assertion
            - malware
            - actor
          uniqueItems: true
        user_id:
          description: the id of the user who create the Webhook
          type: string
        client_id:
          description: the OAuth2 client id used to create the Webhook
          type: string
        event_type_filter:
          description: trigger on these record lifecycle events
          type: array
          items:
            type: string
            enum:
            - private-intel/note/created
            - record-created
            - auto/workflow/completed
            - private-intel/incident/created
            - private-intel/incident/high-impact/created
            - record-updated
            - auto/workflow/errored
            - private-intel/incident/deleted
            - user/updated
            - private-intel/note/deleted
            - piam-entitlements/updated
            - scc-tenant/created
            - private-intel/incident/last-activity-change
            - private-intel/incident/status-changed
            - org/deleting
            - private-intel/note/updated
            - module-instance/restricted
            - module-instance/reactivated
            - notification-request/created
            - private-intel/incident/asset-enrichment/succeeded
            - entitlements/updated
            - auto/workflow/started
            - record-deleted
            - private-intel/incident/updated
            - user/deleted
            - module-instance/updated
            - module-instance/created
            - user/created
            - module-instance/deleted
            - scc-tenant/updated
          uniqueItems: true
        enabled:
          type: boolean
        visibility:
          type: string
          enum:
          - global
          - org
          - user
        created_at:
          type: string
          format: date-time
      additionalProperties: {}
      required:
      - webhook_type
      - name
      - org_id
      - source
      - id
      - user_id
      - client_id
      - event_type_filter
      - enabled
      - visibility
      - created_at
    EventFilterMap:
      description: fields available in event.data
      type: object
      properties:
        module_type_id:
          type: string
        module_instance_visibility:
          type: string
          enum:
          - global
          - org
          - user
      additionalProperties: {}
    PatchWebhookParamsAuth:
      type: object
      properties:
        type:
          type: string
          enum:
          - iroh-jwt
        conf:
          $ref: '#/components/schemas/PatchWebhookParamsAuthConf'
      additionalProperties: false
      required:
      - type
      - conf
    WebhookAuthConf:
      type: object
      properties:
        client_id:
          description: client-id of the client that will be used to generate JWT for the webhook creator to the webhook endpoint. This is mandatory for the `iroh-jwt` authentication type and ignored for other authentication types.
          type: string
      additionalProperties: {}
      required:
      - client_id
    NewWebhookParamsAuth:
      type: object
      properties:
        type:
          type: string
          enum:
          - iroh-jwt
        conf:
          $ref: '#/components/schemas/NewWebhookParamsAuthConf'
      additionalProperties: false
      required:
      - type
      - conf
    PatchWebhookParamsEventFilterMap:
      type: object
      properties:
        module_type_id:
          type:
          - string
          - 'null'
        module_instance_visibility:
          type:
          - string
          - 'null'
          enum:
          - global
          - org
          - user
      additionalProperties: {}
    NewWebhookParams:
      type: object
      properties:
        integration_id:
          description: id of the integration this record belongs to
          type: string
        webhook_type:
          description: should the Webhook Trigger an API or an AO Workflow
          type: string
          enum:
          - workflow
          - url
        name:
          description: a Name describing the Webhook
          type: string
        source:
          type: string
          enum:
          - iroh-events
          - ctia-events
        auth:
          description: inform authentication mechanism to be used in webhook delivery
          x-oneOf:
          - $ref: '#/components/schemas/NewWebhookParamsAuth'
        event_filter_map:
          $ref: '#/components/schemas/EventFilterMap'
        workflow:
          description: if the webhook triggers an AO workflow, the workflow tag
          type: string
        url:
          description: if the webhook triggers an API, the target URL
          type: string
        record_type_filter:
          description: trigger on these record types
          type: array
          items:
            type: string
            enum:
            - feedback
            - investigation
            - data-table
            - relationship
            - vulnerability
            - judgement
            - weakness
            - coa
            - attack-pattern
            - incident
            - indicator
            - campaign
            - sighting
            - casebook
            - identity-assertion
            - malware
            - actor
          uniqueItems: true
        event_type_filter:
          description: trigger on these record lifecycle events
          type: array
          items:
            type: string
            enum:
            - private-intel/note/created
            - record-created
            - auto/workflow/completed
            - private-intel/incident/created
            - private-intel/incident/high-impact/created
            - record-updated
            - auto/workflow/errored
            - private-intel/incident/deleted
            - user/updated
            - private-intel/note/deleted
            - piam-entitlements/updated
            - scc-tenant/created
            - private-intel/incident/last-activity-change
            - private-intel/incident/status-changed
            - org/deleting
            - private-intel/note/updated
            - module-instance/restricted
            - module-instance/reactivated
            - notification-request/created
            - private-intel/incident/asset-enrichment/succeeded
            - entitlements/updated
            - auto/workflow/started
            - record-deleted
            - private-intel/incident/updated
            - user/deleted
            - module-instance/updated
            - module-instance/created
            - user/created
            - module-instance/deleted
            - scc-tenant/updated
          uniqueItems: true
        enabled:
          description: Enable/Disable the Webhook
          type: boolean
        visibility:
          type: string
          enum:
          - global
          - org
          - user
      additionalProperties: false
      required:
      - webhook_type
      - name
      - source
      - event_type_filter
      - visibility
  securitySchemes:
    iroh:
      type: apiKey
      in: header
      name: authorization
    AuthorizationHeader:
      type: apiKey
      in: header
      name: authorization
      description: 'Ex: Bearer \<token\>'
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          scopes:
            telemetry: collect application data for analytics
            integration: Manage your modules
            private-intel: Access Private Intelligence
            admin: Provide admin privileges
            cognitive: Cognitive Integration
            profile: Get your profile information
            inspect: Extract Observables and data from text
            asset: Access and modify your assets
            event: Read IROH Events
            feedback: Submit Customer Feedback
            sse: SSE Integration. Manage your Devices.
            registry: Manage registry entries
            users: Manage users of your organisation
            investigation: Perform threat analysis investigation
            invite: Invite users into your organization
            casebook: Access and modify your casebooks
            orbital: Orbital Integration.
            enrich: Query your configured modules for threat intelligence
            oauth: Manage OAuth2 Clients
            vault: Grants access to Module Vaults
            response: List and execute response actions using configured modules
            notification: Receive notifications from integrations
            global-intel:read: Access AMP Global Intelligence
            webhook: Manage your Webhooks
            ao: AO Integration.
          authorizationUrl: https://visibility.amp.cisco.com/iroh/oauth2/authorize
          tokenUrl: https://visibility.amp.cisco.com/iroh/oauth2/token