Cisco XDR Module Type API

ModuleType Routes

OpenAPI Specification

cisco-xdr-moduletype-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IROH Int Web service Module Type 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: ModuleType
  description: ModuleType Routes
paths:
  /iroh/iroh-int/module-type/{id}:
    get:
      x-no-doc: false
      tags:
      - ModuleType
      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'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `integration/module-type:read`


        '
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      summary: Get a `ModuleType`
    patch:
      x-no-doc: false
      tags:
      - ModuleType
      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'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `admin/integration/module-type:write,integration/module-type:write`


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


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


        '
      parameters:
      - in: query
        name: enabled
        description: ''
        required: false
        schema:
          type: boolean
      - in: query
        name: record
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: sort_by
        description: Sort results on a field
        required: false
        schema:
          type: string
      - in: query
        name: sort_order
        description: Sort direction
        required: false
        schema:
          type: string
          enum:
          - desc
          - asc
      - in: query
        name: offset
        description: Pagination Offset
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: limit
        description: Pagination Limit
        required: false
        schema:
          type: integer
          format: int64
      summary: List `ModuleType`s
    post:
      x-no-doc: false
      tags:
      - ModuleType
      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'
      description: '[required scopes](/iroh/doc/iroh-auth/#scopes): `admin/integration/module-type:write,integration/module-type:write`


        '
      summary: Create a `ModuleType`
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewModuleTypeParams'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/NewModuleTypeParams'
          application/edn:
            schema:
              $ref: '#/components/schemas/NewModuleTypeParams'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/NewModuleTypeParams'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/NewModuleTypeParams'
        required: true
components:
  schemas:
    Integration:
      type: object
      properties:
        client_ids:
          type: array
          items:
            type: string
          uniqueItems: true
      additionalProperties: false
    PatchModuleTypeParamsAppLinkMetaMetaXQueryParams:
      type: object
      additionalProperties:
        type:
        - string
        - 'null'
    NewModuleTypePatchPatchConfigurationSpecOptions:
      type: object
      properties:
        value:
          type: string
        label:
          type: string
      additionalProperties: false
      required:
      - value
      - label
    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
    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
    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
    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'
    PatchModuleTypeParamsIntegration:
      type: object
      properties:
        client_ids:
          type:
          - array
          - 'null'
          items:
            type: string
          uniqueItems: true
      additionalProperties: false
    PartialModuleTypeProperties:
      type: object
      additionalProperties:
        x-oneOf:
        - x-oneOf:
          - type: string
          - type: boolean
          - type: number
            format: double
          - type: string
          - $ref: '#/components/schemas/PartialModuleTypeProperties'
        - type: array
          items:
            x-oneOf:
            - type: string
            - type: boolean
            - type: number
              format: double
            - type: string
            - $ref: '#/components/schemas/ModuleTypeProperties'
    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
    NewModuleTypeParams:
      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
        ocsf-product-uid:
          type: string
        integration:
          $ref: '#/components/schemas/Integration'
        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'
        max_nb_instances:
          type: integer
          format: int64
        default_name:
          type: string
        flags:
          type: array
          items:
            type: string
        enabled:
          type: boolean
        former_title:
          type: string
      additionalProperties: false
      required:
      - title
      - default_name
    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
    NewModuleTypeParamsAppLinkMetaMeta:
      type: object
      properties:
        x_okta_bookmark_id:
          type: string
        x_query_params:
          $ref: '#/components/schemas/NewModuleTypeParamsAppLinkMetaMetaXQueryParams'
      additionalProperties: false
    PatchModuleTypeParamsAppLinkMetaMeta:
      type: object
      properties:
        x_okta_bookmark_id:
          type:
          - string
          - 'null'
        x_query_params:
          $ref: '#/components/schemas/PatchModuleTypeParamsAppLinkMetaMetaXQueryParams'
      additionalProperties: false
    PatchModuleTypeParams:
      type: object
      properties:
        description:
          type:
          - string
          - 'null'
        properties:
          $ref: '#/components/schemas/PartialModuleTypeProperties'
        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/PatchModuleTypeParamsAppLinkMeta'
        tips:
          type:
          - string
          - 'null'
        logo_dark:
          type:
          - string
          - 'null'
        logo:
          type:
          - string
          - 'null'
        ocsf-product-uid:
          type:
          - string
          - 'null'
        integration:
          $ref: '#/components/schemas/PatchModuleTypeParamsIntegration'
        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
        default_name:
          type: string
        flags:
          type:
          - array
          - 'null'
          items:
            type: string
        enabled:
          type:
          - boolean
          - 'null'
        former_title:
          type:
          - string
          - 'null'
      additionalProperties: false
    PatchModuleTypeParamsAppLinkMeta:
      type: object
      properties:
        title:
          type: string
        url:
          type: string
        description:
          type:
          - string
          - 'null'
        logo:
          type:
          - string
          - 'null'
        meta:
          $ref: '#/components/schemas/PatchModuleTypeParamsAppLinkMetaMeta'
      additionalProperties: false
    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
  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