Cisco XDR Bundle API
The Bundle API from Cisco XDR — 2 operation(s) for bundle.
The Bundle API from Cisco XDR — 2 operation(s) for bundle.
openapi: 3.2.0
info:
title: CTIA Bundle 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: Bundle
paths:
/ctia/bundle/export:
get:
tags:
- Bundle
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/x-yaml:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/edn:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/transit+json:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/NewBundleExport'
parameters:
- in: query
name: ids
description: ''
required: true
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: related_to
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- target_ref
- source_ref
- in: query
name: source_type
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- feed
- feedback
- investigation
- asset-mapping
- data-table
- tool
- vulnerability
- judgement
- target-record
- weakness
- note
- coa
- attack-pattern
- incident
- indicator
- campaign
- asset-properties
- sighting
- casebook
- asset
- identity-assertion
- malware
- actor
- in: query
name: target_type
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- feed
- feedback
- investigation
- asset-mapping
- data-table
- tool
- vulnerability
- judgement
- target-record
- weakness
- note
- coa
- attack-pattern
- incident
- indicator
- campaign
- asset-properties
- sighting
- casebook
- asset
- identity-assertion
- malware
- actor
- in: query
name: include_related_entities
description: ''
required: false
schema:
type: boolean
summary: Export records with their local relationships. Ids are URIs (with port if specified).
description: Requires capabilities list-actors, list-asset-mappings, list-asset-properties, list-assets, list-attack-patterns, list-campaigns, list-casebooks, list-coas, list-data-tables, list-feedbacks, list-identity-assertions, list-incidents, list-indicators, list-investigations, list-judgements, list-malwares, list-notes, list-relationships, list-sightings, list-target-records, list-tools, list-verdicts, list-vulnerabilities, list-weaknesses, 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.
post:
tags:
- Bundle
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/x-yaml:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/edn:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/transit+json:
schema:
$ref: '#/components/schemas/NewBundleExport'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/NewBundleExport'
parameters:
- in: query
name: related_to
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- target_ref
- source_ref
- in: query
name: source_type
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- feed
- feedback
- investigation
- asset-mapping
- data-table
- tool
- vulnerability
- judgement
- target-record
- weakness
- note
- coa
- attack-pattern
- incident
- indicator
- campaign
- asset-properties
- sighting
- casebook
- asset
- identity-assertion
- malware
- actor
- in: query
name: target_type
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- feed
- feedback
- investigation
- asset-mapping
- data-table
- tool
- vulnerability
- judgement
- target-record
- weakness
- note
- coa
- attack-pattern
- incident
- indicator
- campaign
- asset-properties
- sighting
- casebook
- asset
- identity-assertion
- malware
- actor
- in: query
name: include_related_entities
description: ''
required: false
schema:
type: boolean
summary: Export records with their local relationships. Ids are URIs (with port if specified).
description: Requires capabilities list-actors, list-asset-mappings, list-asset-properties, list-assets, list-attack-patterns, list-campaigns, list-casebooks, list-coas, list-data-tables, list-feedbacks, list-identity-assertions, list-incidents, list-indicators, list-investigations, list-judgements, list-malwares, list-notes, list-relationships, list-sightings, list-target-records, list-tools, list-verdicts, list-vulnerabilities, list-weaknesses, 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.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BundleExportIds'
application/x-yaml:
schema:
$ref: '#/components/schemas/BundleExportIds'
application/edn:
schema:
$ref: '#/components/schemas/BundleExportIds'
application/transit+json:
schema:
$ref: '#/components/schemas/BundleExportIds'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/BundleExportIds'
required: true
/ctia/bundle/import:
post:
tags:
- Bundle
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BundleImportResult'
application/x-yaml:
schema:
$ref: '#/components/schemas/BundleImportResult'
application/edn:
schema:
$ref: '#/components/schemas/BundleImportResult'
application/transit+json:
schema:
$ref: '#/components/schemas/BundleImportResult'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/BundleImportResult'
parameters:
- in: query
name: external-key-prefixes
description: Comma separated list of external key prefixes
required: false
schema:
type: string
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-coa, create-data-table, create-feedback, create-identity-assertion, create-incident, create-indicator, create-judgement, create-malware, create-note, create-relationship, create-sighting, create-tool, create-vulnerability, create-weakness, import-bundle.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Body116683'
application/x-yaml:
schema:
$ref: '#/components/schemas/Body116683'
application/edn:
schema:
$ref: '#/components/schemas/Body116683'
application/transit+json:
schema:
$ref: '#/components/schemas/Body116683'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/Body116683'
description: Describes a Bundle of any set of CTIM entities.
required: true
components:
schemas:
NewBundleExportIdentityAssertions:
example:
valid_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
identity:
observables:
- value: 1.2.3.4
type: ip
schema_version: 1.3.30
revision: 10
type: identity-assertion
source: string
external_ids:
- string
external_references:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
source_uri: string
language: string
id: string
tlp: green
timestamp: '2016-01-01T01:01:01.000Z'
assertions:
- name: cisco:ctr:ad:host_domain_name
value: string
description: For submitting a new IdentityAssertion.
type: object
properties:
valid_time:
$ref: '#/components/schemas/NewBundleExportIdentityAssertionsValidTime'
identity:
$ref: '#/components/schemas/NewBundleExportIdentityAssertionsIdentity'
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: identity-assertion
type: string
enum:
- identity-assertion
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
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/NewBundleExportIdentityAssertionsExternalReferences'
source_uri:
example: string
description: URI of the source of the intelligence that led to the creation of the entity.
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: IDs are URIs, for example `https://www.domain.com/ctia/judgement/judgement-de305d54-75b4-431b-adb2-eb6b9e546014` for a [Judgement](judgement.md). This _ID_ type compares to the STIX _id_ field. The optional STIX _idref_ field is not used.
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
timestamp:
example: '2016-01-01T01:01:01.000Z'
description: The time this object was created at, or last modified.
type: string
format: date-time
assertions:
example:
- name: cisco:ctr:ad:host_domain_name
value: string
description: Any known context about the identity attributes.
type: array
items:
$ref: '#/components/schemas/NewBundleExportIdentityAssertionsAssertions'
additionalProperties: {}
required:
- identity
- assertions
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
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
NewBundleExportSightingsContextRegistryCreateEvents:
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
registry_key: string
type: RegistryCreateEvent
type: object
properties:
time:
$ref: '#/components/schemas/NewBundleExportSightingsContextRegistryCreateEventsTime'
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
registry_key:
example: string
description: String with at most 1024 characters.
type: string
type:
example: RegistryCreateEvent
type: string
enum:
- RegistryCreateEvent
additionalProperties: {}
required:
- time
- process_id
- process_name
- registry_key
- type
NewBundleExportSightingsContextFileModifyEventsTime:
example:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
description: Period of time when a cyber observation is valid. `start_time` must come before `end_time` (if specified).
type: object
properties:
start_time:
example: '2016-01-01T01:01:01.000Z'
description: Time of the observation. If the observation was made over a period of time, than this field indicates the start of that period.
type: string
format: date-time
end_time:
example: '2016-01-01T01:01:01.000Z'
description: If the observation was made over a period of time, than this field indicates the end of that period.
type: string
format: date-time
additionalProperties: {}
required:
- start_time
NewBundleExportSightingsContextFileMoveEventsTime:
example:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
description: Period of time when a cyber observation is valid. `start_time` must come before `end_time` (if specified).
type: object
properties:
start_time:
example: '2016-01-01T01:01:01.000Z'
description: Time of the observation. If the observation was made over a period of time, than this field indicates the start of that period.
type: string
format: date-time
end_time:
example: '2016-01-01T01:01:01.000Z'
description: If the observation was made over a period of time, than this field indicates the end of that period.
type: string
format: date-time
additionalProperties: {}
required:
- start_time
NewBundleExport:
example:
description: string
valid_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
asset_mapping_refs:
- string
note_refs:
- string
data_table_refs:
- string
attack_pattern_refs:
- string
sighting_refs:
- string
schema_version: 1.3.30
revision: 10
assets:
- description: string
asset_type: application
valid_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
schema_version: 1.3.30
revision: 10
type: asset
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
language: string
id: string
tlp: green
timestamp: '2016-01-01T01:01:01.000Z'
weakness_refs:
- string
tool_refs:
- string
target_record_refs:
- string
asset_refs:
- string
tools:
- description: string
labels:
- credential-exploitation
schema_version: 1.3.30
revision: 10
type: tool
x_mitre_aliases:
- string
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
language: string
id: string
tool_version: string
tlp: green
kill_chain_phases:
- kill_chain_name: string
phase_name: string
timestamp: '2016-01-01T01:01:01.000Z'
indicators:
- description: string
tags:
- string
valid_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
producer: string
schema_version: 1.3.30
revision: 10
type: indicator
test_mechanisms:
- string
source: string
external_ids:
- string
short_description: string
composite_indicator_expression:
operator: and
indicator_ids:
- string
title: string
likely_impact: string
indicator_type:
- Anonymization
external_references:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
source_uri: string
language: string
id: string
severity: Critical
tlp: green
kill_chain_phases:
- kill_chain_name: string
phase_name: string
negate: true
timestamp: '2016-01-01T01:01:01.000Z'
confidence: High
specification:
type: Judgement
judgements:
- string
required_judgements:
- confidence: High
source: string
relationship: string
judgement_id: string
attack_patterns:
- 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'
type: bundle
weaknesses:
- description: string
background_details: string
paradigms:
- prevalence: Often
name: string
abstraction_level: Base
architectures:
- prevalence: Often
name: string
class: Embedded
schema_version: 1.3.30
revision: 10
alternate_terms:
- term: string
description: string
likelihood: High
type: weakness
source: string
external_ids:
- string
short_description: string
title: string
external_references:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
functional_areas:
- Authentication
source_uri: string
modes_of_introduction:
- phase: Architecture and Design
note: string
structure: Chain
language: string
id: string
notes:
- type: Applicable Platform
note: string
common_consequences:
- scopes:
- Access Control
impacts:
- Alter Execution Logic
likelihood: High
note: string
tlp: green
detection_methods:
- method: Architecture or Design Review
description: string
effectiveness: High
effectiveness_notes: string
operating_systems:
- prevalence: Often
name: string
version: string
cpe_id: string
class: Android
affected_resources:
- CPU
languages:
- prevalence: Often
name: string
class: Assembly
timestamp: '2016-01-01T01:01:01.000Z'
potential_mitigations:
- description: string
phases:
- Architecture and Design
strategy: Attack Surface Reduction
effectiveness: Defense in Depth
effectiveness_notes: string
technologies:
- prevalence: Often
name: string
source: string
external_ids:
- string
feedback_refs:
- string
asset_properties:
- properties:
- name: string
value: string
valid_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
schema_version: 1.3.30
revision: 10
asset_ref: string
type: asset-properties
source: string
external_ids:
- string
external_references:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
source_uri: string
language: string
id: string
tlp: green
timestamp: '2016-01-01T01:01:01.000Z'
short_description: string
feedbacks:
- feedback: -1
schema_version: 1.3.30
revision: 10
type: feedback
source: string
external_ids:
# --- truncated at 32 KB (810 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-xdr/refs/heads/main/openapi/cisco-xdr-bundle-api-openapi.yml