Cisco XDR Bulk API

The Bulk API from Cisco XDR — 1 operation(s) for bulk.

OpenAPI Specification

cisco-xdr-bulk-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CTIA Bulk API
  version: 4178275a824512c2fd3a2acdb0e8277233919054 v2.71.0
  license:
    name: All Rights Reserved
    url: ''
  contact:
    name: 'Cisco Security Business Group -- Advanced Threat '
    url: http://github.com/threatgrid/ctia
    email: cisco-intel-api-support@cisco.com
  description: "A Threat Intelligence API service\n\n  This API provides a mechanism for making Judgements on the Disposition\n  of Observables, which are then distilled into a final Verdict.  A\n  Disposition is a statement regarding the malicious, or otherwise,\n  nature of an Observable.\n\n  The Judgements can be grouped into Indicators, which can be associated\n  with Campaigns, Actors and TTPs.  Feedback can be given on specific\n  Judgements, indicating agreement or disagreement, or clarification.\n\n  When an Observable with a malicious Verdict is seen, it can be recorded as\n  a Sighting, and the Relations that Observable had with other Observables can\n  be recorded as well.\n\n  We support a pre-defined set of Observable Types.  Each Observable Type has a\n  specific form of natural identifier, its ID, which is almost always\n  the default way it is represented when observed in the wild.\n\n  * Ipv4/IPv6  -- 192.168.1.1\n  * Domain/Hostname -- foo.com, www.bar.com\n  * SHA256  -- the sha256 checksum of a file, or other data blob\n  * MD5 -- the md5 checksum of a file, or other data blob\n  * SHA1 -- the sha1 checksum of a file, or other data blob\n  * URL -- A minimal form of the URL\n\n  The Verdict is derived from all of the Judgements on that Observable which\n  have not yet expired.  The highest priority Judgement becomes the\n  active verdict.  If there is more than one Judgement with that\n  priority, than Clean disposition has priority over all others, then\n  Malicious disposition, and so on down to Unknown.\n\n  <a href='/doc/README.md'>CTIA Documentation</a>"
  x-provenance:
    method: harvested
    authored_by: Cisco XDR (CTIA)
    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://private.intel.amp.cisco.com/index.html
  - type: raw
    url: https://private.intel.amp.cisco.com/swagger.json
servers:
- url: /
security:
- JWT: []
- oauth2:
  - private-intel
  - private-intel:read
  - private-intel:write
  - casebook
  - casebook:read
  - casebook:write
tags:
- name: Bulk
paths:
  /ctia/bulk:
    post:
      tags:
      - Bulk
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response116945'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Response116945'
            application/edn:
              schema:
                $ref: '#/components/schemas/Response116945'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Response116945'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Response116945'
      parameters:
      - in: query
        name: wait_for
        description: wait for created entities to be available for search
        required: false
        schema:
          type: boolean
      summary: POST many new entities using a single HTTP call
      description: Requires capabilities create-actor, create-asset, create-asset-mapping, create-asset-properties, create-attack-pattern, create-campaign, create-casebook, create-coa, create-data-table, create-feedback, create-identity-assertion, create-incident, create-indicator, create-investigation, create-judgement, create-malware, create-note, create-relationship, create-sighting, create-target-record, create-tool, create-vulnerability, create-weakness.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body116639'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/Body116639'
          application/edn:
            schema:
              $ref: '#/components/schemas/Body116639'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/Body116639'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/Body116639'
        description: a new Bulk object
        required: true
    put:
      tags:
      - Bulk
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response116966'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Response116966'
            application/edn:
              schema:
                $ref: '#/components/schemas/Response116966'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Response116966'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Response116966'
      summary: UPDATE many entities at once
      parameters:
      - in: query
        name: wait_for
        description: wait for updated entities to be available for search
        required: false
        schema:
          type: boolean
      description: Requires capabilities create-actor, create-asset, create-asset-mapping, create-asset-properties, create-attack-pattern, create-campaign, create-casebook, create-coa, create-data-table, create-feedback, create-identity-assertion, create-incident, create-indicator, create-investigation, create-judgement, create-malware, create-note, create-relationship, create-sighting, create-target-record, create-tool, create-vulnerability, create-weakness.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body116650'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/Body116650'
          application/edn:
            schema:
              $ref: '#/components/schemas/Body116650'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/Body116650'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/Body116650'
        description: a Bulk Update object
        required: true
    get:
      tags:
      - Bulk
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response116967'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Response116967'
            application/edn:
              schema:
                $ref: '#/components/schemas/Response116967'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Response116967'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Response116967'
      summary: GET many entities at once
      parameters:
      - in: query
        name: attack_patterns
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: notes
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: investigations
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: vulnerabilities
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: incidents
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: indicators
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: actors
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: asset_properties
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: asset_mappings
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: malwares
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: target_records
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: tools
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: relationships
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: campaigns
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: weaknesses
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: judgements
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: data_tables
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: feedbacks
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: sightings
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: assets
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: coas
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: casebooks
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: identity_assertions
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      description: Requires capabilities read-actor, read-asset, read-asset-mapping, read-asset-properties, read-attack-pattern, read-campaign, read-casebook, read-coa, read-data-table, read-feedback, read-identity-assertion, read-incident, read-indicator, read-investigation, read-judgement, read-malware, read-note, read-relationship, read-sighting, read-target-record, read-tool, read-vulnerability, read-weakness.
    patch:
      tags:
      - Bulk
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response116979'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Response116979'
            application/edn:
              schema:
                $ref: '#/components/schemas/Response116979'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Response116979'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Response116979'
      summary: PATCH many entities at once
      parameters:
      - in: query
        name: wait_for
        description: wait for patched entities to be available for search
        required: false
        schema:
          type: boolean
      description: Requires capabilities create-incident, create-note.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body116661'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/Body116661'
          application/edn:
            schema:
              $ref: '#/components/schemas/Body116661'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/Body116661'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/Body116661'
        description: a new Bulk Patch object
        required: true
    delete:
      tags:
      - Bulk
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response116980'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/Response116980'
            application/edn:
              schema:
                $ref: '#/components/schemas/Response116980'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/Response116980'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/Response116980'
      summary: DELETE many entities at once
      parameters:
      - in: query
        name: wait_for
        description: wait for deleted entities to not be available anymore for search
        required: false
        schema:
          type: boolean
      description: Requires capabilities delete-actor, delete-asset, delete-asset-mapping, delete-asset-properties, delete-attack-pattern, delete-campaign, delete-casebook, delete-coa, delete-data-table, delete-feedback, delete-identity-assertion, delete-incident, delete-indicator, delete-investigation, delete-judgement, delete-malware, delete-note, delete-relationship, delete-sighting, delete-target-record, delete-tool, delete-vulnerability, delete-weakness.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body116663'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/Body116663'
          application/edn:
            schema:
              $ref: '#/components/schemas/Body116663'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/Body116663'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/Body116663'
        description: a new Bulk Delete object
        required: true
components:
  schemas:
    AttackPattern:
      example:
        description: string
        abstraction_level: aggregate
        schema_version: 1.3.30
        revision: 10
        type: attack-pattern
        source: string
        external_ids:
        - string
        short_description: string
        title: string
        external_references:
        - source_name: string
          description: string
          url: string
          hashes:
          - string
          external_id: string
        source_uri: string
        x_mitre_platforms:
        - string
        language: string
        id: string
        tlp: green
        x_mitre_data_sources:
        - string
        kill_chain_phases:
        - kill_chain_name: string
          phase_name: string
        x_mitre_contributors:
        - string
        timestamp: '2016-01-01T01:01:01.000Z'
      description: Attack Patterns are a type of TTP that describe ways that adversaries attempt to compromise targets.
      type: object
      properties:
        description:
          example: string
          description: A description of object, which may be detailed.
          type: string
        abstraction_level:
          example: aggregate
          description: The CAPEC abstraction level for patterns describing techniques to attack a system.
          type: string
          enum:
          - detailed
          - standard
          - aggregate
          - meta
          - category
        schema_version:
          type: string
        revision:
          example: 10
          description: A monotonically increasing revision, incremented each time the object is changed.
          type: integer
          format: int64
        type:
          example: attack-pattern
          type: string
          enum:
          - attack-pattern
        source:
          example: string
          description: Represents the source of the intelligence that led to the creation of the entity.
          type: string
        external_ids:
          example:
          - string
          description: "It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. \n The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners."
          type: array
          items:
            type: string
        short_description:
          example: string
          description: A single line, short summary of the object.
          type: string
        title:
          example: string
          description: A short title for this object, used as primary display and reference value.
          type: string
        external_references:
          example:
          - source_name: string
            description: string
            url: string
            hashes:
            - string
            external_id: string
          description: "Specifies a list of external references which refers to non-CTIM information.\n\nSimilar to `external_ids` field with major differences:\n\n- `external_ids` field is used to store a list of external identifiers that can be used to link entities across different data sources. These identifiers are typically standardized and well-known, such as CVE IDs, US-CERT advisories, or other industry-standard threat intelligence feeds. The `external_ids` field can be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. \n\n- `external_references` field, on the other hand, is used to provide a more general mechanism for linking entities to external sources of information. The `external_references` field can include references to blog posts, articles, external documents, threat intelligence reports, and other sources of information that may not have a standardized format or identifier."
          type: array
          items:
            $ref: '#/components/schemas/ExternalReference'
        source_uri:
          example: string
          description: URI of the source of the intelligence that led to the creation of the entity.
          type: string
        x_mitre_platforms:
          example:
          - string
          description: ATT&CK Technique.Platforms.
          type: array
          items:
            type: string
        language:
          example: string
          description: 'The `language` field is used to specify the primary language of the affected system or the target of an attack. It can be used to provide additional context and information about the entity. The primary purpose of this field is to help analysts filter and prioritize entities based on their knowledge and expertise of different languages.


            For example, if an incident involves an attack on a system in a country where a specific language is predominant, the `language` field can be used to indicate that language, which can help analysts to quickly identify and respond to incidents that may be geographically or culturally relevant. This information can be used to prioritize incidents based on their potential impact. The `language` field can also be used to help with correlation of incidents across different systems and regions, as well as to help with data analysis and reporting.'
          type: string
        id:
          example: string
          description: Globally unique URI identifying this object.
          type: string
        tlp:
          example: green
          description: 'TLP stands for [Traffic Light Protocol](https://www.us-cert.gov/tlp), which indicates precisely how a resource is intended to be shared, replicated, copied, etc.


            It is used to indicate the sensitivity of the information contained within the message. This allows recipients to determine the appropriate handling and dissemination of the information based on their clearance level and need-to-know.


            For example, an entity containing information about a critical vulnerability in a widely-used software might be marked as `red`, indicating that it should only be shared with a small group of highly trusted individuals who need to know in order to take appropriate action. On the other hand, a message containing more general information about security threats might be marked as `amber` or `green`, indicating that it can be shared more broadly within an organization.'
          type: string
          enum:
          - white
          - green
          - red
          - amber
        x_mitre_data_sources:
          example:
          - string
          description: ATT&CK Technique.Data Sources.
          type: array
          items:
            type: string
        kill_chain_phases:
          example:
          - kill_chain_name: string
            phase_name: string
          description: A kill chain is a series of steps that an attacker must go through to successfully achieve their objective. The concept was originally developed by the military, but has been adapted to the cybersecurity field to describe the steps an attacker goes through to compromise a target system and achieve their goal.
          type: array
          items:
            $ref: '#/components/schemas/KillChainPhase'
        x_mitre_contributors:
          example:
          - string
          description: ATT&CK Technique.Contributors.
          type: array
          items:
            type: string
        timestamp:
          example: '2016-01-01T01:01:01.000Z'
          description: The time this object was created at, or last modified.
          type: string
          format: date-time
      additionalProperties: false
    Assertion:
      example:
        name: cisco:ctr:ad:host_domain_name
        value: string
      type: object
      properties:
        name:
          example: cisco:ctr:ad:host_domain_name
          description: An open vocabulary containing well known assertion types
          type: string
        value:
          example: string
          type: string
      additionalProperties: false
    LibraryLoadType:
      example:
        time:
          start_time: '2016-01-01T01:01:01.000Z'
          end_time: '2016-01-01T01:01:01.000Z'
        process_id: 10
        process_name: string
        process_guid: 10
        process_username: string
        type: LibraryLoadEvent
        dll_library_name: string
        dll_library_path: string
      type: object
      properties:
        time:
          $ref: '#/components/schemas/ObservedTime'
        process_id:
          example: 10
          type: integer
          format: int64
        process_name:
          example: string
          description: String with at most 1024 characters.
          type: string
        process_guid:
          example: 10
          type: integer
          format: int64
        process_username:
          example: string
          description: String with at most 1024 characters.
          type: string
        type:
          example: LibraryLoadEvent
          type: string
          enum:
          - LibraryLoadEvent
        dll_library_name:
          example: string
          description: String with at most 1024 characters.
          type: string
        dll_library_path:
          example: string
          description: String with at most 2048 characters.
          type: string
      additionalProperties: false
      required:
      - time
      - process_id
      - process_name
      - type
      - dll_library_name
      - dll_library_path
    Body116663Campaigns:
      type: object
      properties:
        error:
          x-oneOf:
          - type: string
          - $ref: '#/components/schemas/Body116663CampaignsError'
        msg:
          type: string
        type:
          x-oneOf:
          - type: string
          - type: string
        id:
          type:
          - string
          - 'null'
      additionalProperties: {}
    CompositeIndicatorExpression:
      example:
        operator: and
        indicator_ids:
        - string
      type: object
      properties:
        operator:
          example: and
          type: string
          enum:
          - not
          - or
          - and
        indicator_ids:
          example:
          - string
          type: array
          items:
            type: string
      additionalProperties: false
      required:
      - operator
      - indicator_ids
    Response116979:
      type: object
      properties:
        investigations:
          $ref: '#/components/schemas/BulkActions'
        assets:
          $ref: '#/components/schemas/BulkActions'
        tools:
          $ref: '#/components/schemas/BulkActions'
        indicators:
          $ref: '#/components/schemas/BulkActions'
        attack_patterns:
          $ref: '#/components/schemas/BulkActions'
        asset_properties:
          $ref: '#/components/schemas/BulkActions'
        campaigns:
          $ref: '#/components/schemas/BulkActions'
        actors:
          $ref: '#/components/schemas/BulkActions'
        notes:
          $ref: '#/components/schemas/BulkActions'
        judgements:
          $ref: '#/components/schemas/BulkActions'
        malwares:
          $ref: '#/components/schemas/BulkActions'
        target_records:
          $ref: '#/components/schemas/BulkActions'
        asset_mappings:
          $ref: '#/components/schemas/BulkActions'
        incidents:
          $ref: '#/components/schemas/BulkActions'
        sightings:
          $ref: '#/components/schemas/BulkActions'
        relationships:
          $ref: '#/components/schemas/BulkActions'
        casebooks:
          $ref: '#/components/schemas/BulkActions'
        vulnerabilities:
          $ref: '#/components/schemas/BulkActions'
        coas:
          $ref: '#/components/schemas/BulkActions'
      additionalProperties: false
    Body116650Investigations:
      example:
        description: string
        schema_version: 1.3.30
        revision: 10
        type: investigation
        source: string
        external_ids:
        - string
        targets:
        - type: endpoint
          observables:
          - value: 1.2.3.4
            type: ip
          observed_time:
            start_time: '2016-01-01T01:01:01.000Z'
            end_time: '2016-01-01T01:01:01.000Z'
          os: string
        actions: string
        short_description: string
        title: string
        external_references:
        - source_name: string
          description: string
          url: string
          hashes:
          - string
          external_id: string
        source_uri: string
        investigated_observables:
        - string
        language: string
        id: string
        tlp: green
        timestamp: '2016-01-01T01:01:01.000Z'
        object_ids:
        - string
      description: Schema for submitting new Investigations
      type: object
      properties:
        description:
          example: string
          description: A description of object, which may be detailed.
          type: string
        authorized_groups:
          type: array
          items:
            type: string
        schema_version:
          type: string
        revision:
          example: 10
          description: A monotonically increasing revision, incremented each time the object is changed.
          type: integer
          format: int64
        authorized_users:
          type: array
          items:
            type: string
        type:
          example: investigation
          type: string
          enum:
          - investigation
        created:
          type: string
          format: date-time
        source:
          example: string
          description: Represents the source of the intelligence that led to the creation of the entity.
          type: string
        external_ids:
          example:
          - string
          description: "It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. \n The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners."
          type: array
          items:
            type: string
        modified:
          type: string
          format: date-time
        targets:
          example:
          - type: endpoint
            observables:
            - value: 1.2.3.4
              type: ip
            observed_time:
              start_time: '2016-01-01T01:01:01.000Z'
              end_time: '2016-01-01T01:01:01.000Z'
            os: string
          description: Investigated target devices
          type: array
          items:
            $ref: '#/components/schemas/Body116650InvestigationsTargets'
        actions:
          example: string
          description: Investigation actions encoded as JSON (an array of objects).
          type: string
        short_description:
          example: string
          description: A single line, short summary of the object.
          type: string
        title:
          example: string
          description: A short title for this object, used as primary display and reference value.
          type: string
        external_references:
          example:
          - source_name: stri

# --- truncated at 32 KB (923 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-xdr/refs/heads/main/openapi/cisco-xdr-bulk-api-openapi.yml