Cisco XDR Module Type Patch API

ModuleTypePatch Routes

OpenAPI Specification

cisco-xdr-moduletypepatch-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IROH Int Web service Module Type Patch 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 INT 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-int/index.html
  - type: raw
    url: https://visibility.amp.cisco.com/iroh/iroh-int/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: ModuleTypePatch
  description: ModuleTypePatch Routes
paths:
  /iroh/iroh-int/module-type-patch:
    get:
      x-no-doc: false
      tags:
      - ModuleTypePatch
      summary: Search all module-type-patches
      parameters:
      - in: query
        name: sort_order
        description: ''
        required: false
        schema:
          type: string
          enum:
          - desc
          - asc
      - in: query
        name: merged_at
        description: ''
        required: false
        schema:
          type: string
          format: date-time
      - in: query
        name: sort_by
        description: ''
        required: false
        x-oneOf:
        - type: string
        - type: number
          format: double
        - type: string
      - in: query
        name: fields
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: search_after
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            x-oneOf:
            - type: string
            - type: number
              format: double
            - type: string
      - in: query
        name: module_type_id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: user_id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: merged_by
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: limit
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: offset
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: merge_status
        description: ''
        required: false
        schema:
          type: string
          enum:
          - merged
          - rejected
          - pending
      - in: query
        name: query
        description: Full-Text search
        required: false
        schema:
          type: string
      - in: query
        name: client_id
        description: ''
        required: false
        schema:
          type: string
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type-patch:read`


        Search all module-type-patches'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModuleTypePatch'
            application/x-yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModuleTypePatch'
            application/edn:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+msgpack:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModuleTypePatch'
    post:
      x-no-doc: false
      tags:
      - ModuleTypePatch
      summary: Create a new module-type-patch
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type-patch:write`


        Create a new module-type-patch'
      parameters:
      - in: query
        name: dry-run
        description: ''
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/edn:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewModuleTypePatch'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/NewModuleTypePatch'
          application/edn:
            schema:
              $ref: '#/components/schemas/NewModuleTypePatch'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/NewModuleTypePatch'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/NewModuleTypePatch'
        required: true
  /iroh/iroh-int/module-type-patch/{id}:
    get:
      x-no-doc: false
      tags:
      - ModuleTypePatch
      x-name: iroh-int.services.module-type-patch-web-service.routes/get-module-type-patch
      summary: Retrieve a single module-type-patch
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type-patch:read`


        Retrieve a single module-type-patch'
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/edn:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
    put:
      x-no-doc: false
      tags:
      - ModuleTypePatch
      summary: Update an existing module-type-patch
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type-patch:write`


        Update an existing module-type-patch'
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      - in: query
        name: dry-run
        description: ''
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/edn:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/ModuleTypePatch'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModuleTypePatch'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/ModuleTypePatch'
          application/edn:
            schema:
              $ref: '#/components/schemas/ModuleTypePatch'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/ModuleTypePatch'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/ModuleTypePatch'
        required: true
    delete:
      x-no-doc: false
      tags:
      - ModuleTypePatch
      summary: Delete a module-type-patch
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type-patch:write`


        Delete a module-type-patch'
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      responses:
        default:
          description: ''
  /iroh/iroh-int/module-type-patch/{id}/action/preview:
    get:
      x-no-doc: false
      tags:
      - ModuleTypePatch
      summary: Show how a given ModuleTypePatch's ModuleType would look if the ModuleTypePatch's patch was merged into it, without actually persisting the operation into the database
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type-patch:read`


        (str "Show how a given ModuleTypePatch''s ModuleType " "would look if the ModuleTypePatch''s patch was " "merged into it, without actually persisting " "the operation into the database")'
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleType'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/ModuleType'
            application/edn:
              schema:
                $ref: '#/components/schemas/ModuleType'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/ModuleType'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/ModuleType'
components:
  schemas:
    ModuleTypePatchPatchAppLinkMetaMeta:
      type: object
      properties:
        x_okta_bookmark_id:
          type:
          - string
          - 'null'
        x_query_params:
          $ref: '#/components/schemas/ModuleTypePatchPatchAppLinkMetaMetaXQueryParams'
      additionalProperties: false
    ProductCategory:
      type: object
      properties:
        id:
          type: string
          enum:
          - siem
          - threat-intel
          - email-security
          - ndr
          - rf-security
          - cloud-firewall
          - itsm
          - edr
          - cloud-security
          - firewall
        description:
          type: string
      additionalProperties: false
      required:
      - id
      - description
    Capability:
      type: object
      properties:
        id:
          type: string
          enum:
          - detection_source
          - device_insights
          - respond
          - observe
          - assets
          - incident/resolve
          - notifications
          - data_ingestion
          - target_records
          - health
          - automate
          - tiles
          - refer
          - threat_hunts
          - deliberate
        description:
          type: string
      additionalProperties: false
      required:
      - id
      - description
    ModuleTypePatchPatchAppLinkMeta:
      type: object
      properties:
        title:
          type: string
        url:
          type: string
        description:
          type:
          - string
          - 'null'
        logo:
          type:
          - string
          - 'null'
        meta:
          $ref: '#/components/schemas/ModuleTypePatchPatchAppLinkMetaMeta'
      additionalProperties: false
    ModuleTypeExternalReference:
      type: object
      properties:
        label:
          description: If the reference is a link, the label
          type: string
        link:
          description: If the reference is a link, the href
          type: string
        external_id:
          description: If the reference is an external id, the id
          type: string
        class:
          description: Class to distinguish external references
          type: string
      additionalProperties: false
    NewModuleTypePatch:
      type: object
      properties:
        module_type_id:
          type: string
        patch:
          $ref: '#/components/schemas/NewModuleTypePatchPatch'
      additionalProperties: false
      required:
      - module_type_id
      - patch
    ConfigurationSpecField:
      type: object
      properties:
        group:
          type: string
        beta:
          type: boolean
        key:
          type: string
        type:
          type: string
          enum:
          - remote
          - password
          - file
          - string
          - api_key
          - integer
          - device
          - options
          - boolean
        strict-options:
          type: boolean
        label:
          type: string
        options:
          type: array
          items:
            $ref: '#/components/schemas/NewModuleTypePatchPatchConfigurationSpecOptions'
        default_value:
          x-oneOf:
          - type: string
          - type: string
          - type: string
          - type: string
          - type: string
          - type: integer
            format: int64
          - type: string
          - type: string
          - type: boolean
        tooltip:
          type: string
        required:
          type: boolean
        subtype:
          type: string
      additionalProperties: false
      required:
      - key
      - type
      - label
    ModuleTypePatchPatchIntegration:
      type: object
      properties:
        client_ids:
          type:
          - array
          - 'null'
          items:
            type: string
          uniqueItems: true
      additionalProperties: false
    NewModuleTypePatchPatch:
      type: object
      properties:
        description:
          type:
          - string
          - 'null'
        properties:
          $ref: '#/components/schemas/NewModuleTypePatchPatchProperties'
        app_link:
          type:
          - string
          - 'null'
        product_categories:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProductCategory'
        capabilities:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Capability'
        integration_id:
          description: id of the integration this record belongs to
          type:
          - string
          - 'null'
        app_link_meta:
          $ref: '#/components/schemas/NewModuleTypePatchPatchAppLinkMeta'
        tips:
          type:
          - string
          - 'null'
        logo_dark:
          type:
          - string
          - 'null'
        logo:
          type:
          - string
          - 'null'
        org_id:
          type: string
        ocsf-product-uid:
          type:
          - string
          - 'null'
        integration:
          $ref: '#/components/schemas/NewModuleTypePatchPatchIntegration'
        disable_automatic_health_check:
          type:
          - boolean
          - 'null'
        configuration_spec:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ConfigurationSpecField'
        short_description:
          type:
          - string
          - 'null'
        title:
          type: string
        external_references:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ModuleTypeExternalReference'
        max_nb_instances:
          type:
          - integer
          - 'null'
          format: int64
        parent_id:
          type:
          - string
          - 'null'
        record:
          type:
          - string
          - 'null'
        user_id:
          type: string
        client_id:
          type: string
        default_name:
          type: string
        flags:
          type:
          - array
          - 'null'
          items:
            type: string
        enabled:
          type:
          - boolean
          - 'null'
        visibility:
          type: string
          enum:
          - global
          - org
        former_title:
          type:
          - string
          - 'null'
      additionalProperties: false
    NewModuleTypePatchPatchConfigurationSpecOptions:
      type: object
      properties:
        value:
          type: string
        label:
          type: string
      additionalProperties: false
      required:
      - value
      - label
    NewModuleTypeParamsAppLinkMetaMetaXQueryParams:
      type: object
      additionalProperties:
        type: string
    AppLinkMeta:
      type: object
      properties:
        title:
          type: string
        url:
          type: string
        description:
          type: string
        logo:
          type: string
        meta:
          $ref: '#/components/schemas/NewModuleTypeParamsAppLinkMetaMeta'
      additionalProperties: false
      required:
      - title
      - url
    ModuleTypePatchPatchAppLinkMetaMetaXQueryParams:
      type: object
      additionalProperties:
        type:
        - string
        - 'null'
    ModuleTypePatchPatch:
      type: object
      properties:
        description:
          type:
          - string
          - 'null'
        properties:
          $ref: '#/components/schemas/ModuleTypePatchPatchProperties'
        app_link:
          type:
          - string
          - 'null'
        product_categories:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProductCategory'
        capabilities:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Capability'
        integration_id:
          description: id of the integration this record belongs to
          type:
          - string
          - 'null'
        app_link_meta:
          $ref: '#/components/schemas/ModuleTypePatchPatchAppLinkMeta'
        tips:
          type:
          - string
          - 'null'
        logo_dark:
          type:
          - string
          - 'null'
        logo:
          type:
          - string
          - 'null'
        org_id:
          type: string
        ocsf-product-uid:
          type:
          - string
          - 'null'
        integration:
          $ref: '#/components/schemas/ModuleTypePatchPatchIntegration'
        disable_automatic_health_check:
          type:
          - boolean
          - 'null'
        configuration_spec:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ConfigurationSpecField'
        short_description:
          type:
          - string
          - 'null'
        title:
          type: string
        external_references:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ModuleTypeExternalReference'
        max_nb_instances:
          type:
          - integer
          - 'null'
          format: int64
        parent_id:
          type:
          - string
          - 'null'
        record:
          type:
          - string
          - 'null'
        user_id:
          type: string
        client_id:
          type: string
        default_name:
          type: string
        flags:
          type:
          - array
          - 'null'
          items:
            type: string
        enabled:
          type:
          - boolean
          - 'null'
        visibility:
          type: string
          enum:
          - global
          - org
        former_title:
          type:
          - string
          - 'null'
      additionalProperties: false
    NewModuleTypePatchPatchProperties:
      type: object
      additionalProperties:
        x-oneOf:
        - x-oneOf:
          - type: string
          - type: boolean
          - type: number
            format: double
          - type: string
          - $ref: '#/components/schemas/ModuleTypeProperties'
        - type: array
          items:
            x-oneOf:
            - type: string
            - type: boolean
            - type: number
              format: double
            - type: string
            - $ref: '#/components/schemas/ModuleTypeProperties'
    ModuleType:
      type: object
      properties:
        description:
          type: string
        properties:
          $ref: '#/components/schemas/ModuleTypeProperties'
        app_link:
          type: string
        product_categories:
          type: array
          items:
            $ref: '#/components/schemas/ProductCategory'
        capabilities:
          type: array
          items:
            $ref: '#/components/schemas/Capability'
        integration_id:
          description: id of the integration this record belongs to
          type: string
        app_link_meta:
          $ref: '#/components/schemas/AppLinkMeta'
        tips:
          type: string
        logo_dark:
          type: string
        logo:
          type: string
        org_id:
          type: string
        ocsf-product-uid:
          type: string
        integration:
          $ref: '#/components/schemas/Integration'
        disable_automatic_health_check:
          type: boolean
        configuration_spec:
          type: array
          items:
            $ref: '#/components/schemas/ConfigurationSpecField'
        short_description:
          type: string
        title:
          type: string
        external_references:
          type: array
          items:
            $ref: '#/components/schemas/ModuleTypeExternalReference'
        updated_at:
          type: string
          format: date-time
        max_nb_instances:
          type: integer
          format: int64
        parent_id:
          type: string
        id:
          type: string
        record:
          type: string
        user_id:
          type: string
        client_id:
          type: string
        default_name:
          type: string
        flags:
          type: array
          items:
            type: string
        enabled:
          type: boolean
        visibility:
          type: string
          enum:
          - global
          - org
        created_at:
          type: string
          format: date-time
        former_title:
          type: string
      additionalProperties: false
      required:
      - org_id
      - title
      - id
      - record
      - user_id
      - client_id
      - default_name
      - enabled
      - visibility
      - created_at
    NewModuleTypePatchPatchAppLinkMetaMetaXQueryParams:
      type: object
      additionalProperties:
        type:
        - string
        - 'null'
    NewModuleTypeParamsAppLinkMetaMeta:
      type: object
      properties:
        x_okta_bookmark_id:
          type: string
        x_query_params:
          $ref: '#/components/schemas/NewModuleTypeParamsAppLinkMetaMetaXQueryParams'
      additionalProperties: false
    NewModuleTypePatchPatchAppLinkMetaMeta:
      type: object
      properties:
        x_okta_bookmark_id:
          type:
          - string
          - 'null'
        x_query_params:
          $ref: '#/components/schemas/NewModuleTypePatchPatchAppLinkMetaMetaXQueryParams'
      additionalProperties: false
    ModuleTypePatchPatchProperties:
      type: object
      additionalProperties:
        x-oneOf:
        - x-oneOf:
          - type: string
          - type: boolean
          - type: number
            format: double
          - type: string
          - $ref: '#/components/schemas/ModuleTypeProperties'
        - type: array
          items:
            x-oneOf:
            - type: string
            - type: boolean
            - type: number
              format: double
            - type: string
            - $ref: '#/components/schemas/ModuleTypeProperties'
    Integration:
      type: object
      properties:
        client_ids:
          type: array
          items:
            type: string
          uniqueItems: true
      additionalProperties: false
    NewModuleTypePatchPatchIntegration:
      type: object
      properties:
        client_ids:
          type:
          - array
          - 'null'
          items:
            type: string
          uniqueItems: true
      additionalProperties: false
    NewModuleTypePatchPatchAppLinkMeta:
      type: object
      properties:
        title:
          type: string
        url:
          type: string
        description:
          type:
          - string
          - 'null'
        logo:
          type:
          - string
          - 'null'
        meta:
          $ref: '#/components/schemas/NewModuleTypePatchPatchAppLinkMetaMeta'
      additionalProperties: false
    ModuleTypeProperties:
      type: object
      additionalProperties:
        x-oneOf:
        - x-oneOf:
          - type: string
          - type: boolean
          - type: number
            format: double
          - type: string
          - $ref: '#/components/schemas/ModuleTypeProperties'
        - type: array
          items:
            x-oneOf:
            - type: string
            - type: boolean
            - type: number
              format: double
            - type: string
            - $ref: '#/components/schemas/ModuleTypeProperties'
    ModuleTypePatch:
      type: object
      properties:
        merge_status:
          type: string
          enum:
          - merged
          - rejected
          - pending
        patch:
          $ref: '#/components/schemas/ModuleTypePatchPatch'
        module_type_id:
          type: string
        org_id:
          type: string
        merged_at:
          type: string
          format: date-time
        merge_message:
          description: A message to help you create module type patch that will be approved, or understand why it was rejected.
          type: string
        updated_at:
          type: string
          format: date-time
        id:
          type: string
        user_id:
          type: string
        client_id:
          type: string
        merged_by:
          type: string
        created_at:
          type: string
          format: date-time
      additionalProperties: false
      required:
      - merge_status
      - patch
      - module_type_id
      - org_id
      - updated_at
      - id
      - user_id
      - client_id
      - created_at
  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