Cisco XDR Attack Pattern API

Attack Pattern operations

OpenAPI Specification

cisco-xdr-attack-pattern-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CTIA Attack Pattern 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: Attack Pattern
  description: Attack Pattern operations
paths:
  /ctia/attack-pattern:
    post:
      tags:
      - Attack Pattern
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/edn:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/AttackPattern'
      parameters:
      - in: query
        name: wait_for
        description: wait for entity to be available for search
        required: false
        schema:
          type: boolean
      summary: Adds a new Attack-pattern
      description: Requires capability create-attack-pattern.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/edn:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
        description: a new Attack-pattern
        required: true
  /ctia/attack-pattern/{id}:
    put:
      tags:
      - Attack Pattern
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/edn:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/AttackPattern'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/AttackPattern'
      parameters:
      - in: query
        name: wait_for
        description: wait for updated entity to be available for search
        required: false
        schema:
          type: boolean
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      summary: Update an existing Attack-pattern
      description: Requires capability create-attack-pattern.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/x-yaml:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/edn:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/transit+json:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
          application/transit+msgpack:
            schema:
              $ref: '#/components/schemas/NewAttackPattern'
        description: an updated Attack-pattern
        required: true
    get:
      tags:
      - Attack Pattern
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/edn:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
      summary: Get one Attack-pattern by ID
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      - in: query
        name: fields
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - schema_version
            - revision
            - source
            - title
            - source_uri
            - language
            - id
            - tlp
            - timestamp
      description: Requires capability read-attack-pattern.
    delete:
      tags:
      - Attack Pattern
      responses:
        '204':
          description: ''
      x-no-doc: false
      parameters:
      - in: path
        name: id
        description: ''
        required: true
        schema:
          type: string
      - in: query
        name: wait_for
        description: wait for deleted entity to no more be available for search
        required: false
        schema:
          type: boolean
      summary: Delete one Attack-pattern
      description: Requires capability delete-attack-pattern.
  /ctia/attack-pattern/external_id/{external_id}:
    get:
      tags:
      - Attack Pattern
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/x-yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/edn:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+msgpack:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
      parameters:
      - in: query
        name: sort_by
        description: Sort results on a field
        required: false
        schema:
          type: string
          enum:
          - schema_version
          - revision
          - source
          - title
          - source_uri
          - language
          - id
          - tlp
          - timestamp
      - 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: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: limit
        description: Pagination Limit
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: fields
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - schema_version
            - revision
            - source
            - title
            - source_uri
            - language
            - id
            - tlp
            - timestamp
      - in: path
        name: external_id
        description: ''
        required: true
        schema:
          type: string
      summary: List Attack-pattern by external id
      description: Requires capability read-attack-pattern.
  /ctia/attack-pattern/search:
    get:
      tags:
      - Attack Pattern
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/x-yaml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/edn:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+msgpack:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartialAttackPattern'
      summary: Search for Attack-pattern entities using a ES query syntax and field filters
      description: Requires capability search-attack-pattern.
      parameters:
      - in: query
        name: sort_order
        description: Sort direction
        required: false
        schema:
          type: string
          enum:
          - desc
          - asc
      - in: query
        name: tlp
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.kill_chain_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: from
        description: ''
        required: false
        schema:
          type: string
          format: date-time
      - in: query
        name: sort_by
        description: 'Sort result on fields.


          The following fields are supported: id, language, revision, schema_version, source, source_uri, timestamp, title, tlp


          Fields can be combined with '','' and sort order can be specified by '':asc'' and '':desc''. For example:


          -  id       # sort by id ascending

          -  id:desc  # sort by id descending

          -  id,language:desc  # sort by id ascending, then language descending'
        required: false
        schema:
          type: string
      - in: query
        name: fields
        description: ''
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - schema_version
            - revision
            - source
            - title
            - source_uri
            - language
            - id
            - tlp
            - timestamp
      - in: query
        name: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: language
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: limit
        description: Pagination Limit
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: search_fields
        description: '''fields'' key of Elasticsearch Fulltext Query.'
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - id
            - short_description
            - title
            - source
            - description
      - in: query
        name: kill_chain_phases.phase_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: offset
        description: Pagination Offset
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: simple_query
        description: Query String with simple query format
        required: false
        schema:
          type: string
      - in: query
        name: revision
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: to
        description: ''
        required: false
        schema:
          type: string
          format: date-time
    delete:
      tags:
      - Attack Pattern
      description: Requires capabilities delete-attack-pattern, search-attack-pattern.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: integer
                format: int64
            application/x-yaml:
              schema:
                type: integer
                format: int64
            application/edn:
              schema:
                type: integer
                format: int64
            application/transit+json:
              schema:
                type: integer
                format: int64
            application/transit+msgpack:
              schema:
                type: integer
                format: int64
      summary: Delete Attack-pattern entities matching given Lucene/ES query string or/and field filters
      parameters:
      - in: query
        name: tlp
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.kill_chain_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: from
        description: ''
        required: false
        schema:
          type: string
          format: date-time
      - in: query
        name: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: language
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.phase_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: REALLY_DELETE_ALL_THESE_ENTITIES
        description: ' If you do not set this value or set it to false this route will perform a dry run. Set this value to true to perform the deletion. You MUST confirm you will fix the mess after the inevitable disaster that will occur after you perform that operation. DO NOT FORGET TO SET THAT TO FALSE AFTER EACH DELETION IF YOU INTEND TO USE THAT ROUTE MULTIPLE TIMES.'
        required: false
        schema:
          type: boolean
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: wait_for
        description: wait for matched entity to be deleted
        required: false
        schema:
          type: boolean
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: simple_query
        description: Query String with simple query format
        required: false
        schema:
          type: string
      - in: query
        name: revision
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: to
        description: ''
        required: false
        schema:
          type: string
          format: date-time
  /ctia/attack-pattern/search/count:
    get:
      tags:
      - Attack Pattern
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: integer
                format: int64
            application/x-yaml:
              schema:
                type: integer
                format: int64
            application/edn:
              schema:
                type: integer
                format: int64
            application/transit+json:
              schema:
                type: integer
                format: int64
            application/transit+msgpack:
              schema:
                type: integer
                format: int64
      summary: Count Attack-pattern matching a Lucene/ES query string and field filters
      description: Requires capability search-attack-pattern.
      parameters:
      - in: query
        name: tlp
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.kill_chain_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: from
        description: ''
        required: false
        schema:
          type: string
          format: date-time
      - in: query
        name: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: language
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.phase_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: simple_query
        description: Query String with simple query format
        required: false
        schema:
          type: string
      - in: query
        name: revision
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: to
        description: ''
        required: false
        schema:
          type: string
          format: date-time
  /ctia/attack-pattern/metric/histogram:
    get:
      tags:
      - Attack Pattern
      description: Requires capability search-attack-pattern.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/edn:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/MetricResult'
      summary: Histogram for some Attack-pattern field
      parameters:
      - in: query
        name: tlp
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.kill_chain_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: language
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.phase_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: granularity
        description: ''
        required: true
        schema:
          type: string
          enum:
          - day
          - week
          - month
      - in: query
        name: from
        description: Start date of the histogram. Filters the value of selected aggregated-on field.
        required: true
        schema:
          type: string
          format: date-time
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: aggregate-on
        description: ''
        required: true
        schema:
          type: string
          enum:
          - timestamp
      - in: query
        name: agg-key
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: timezone
        description: ''
        required: false
        schema:
          type: string
          enum:
          - -05:00
          - +02:00
          - +01:00
          - -09:00
          - -01:00
          - +03:00
          - +08:00
          - +04:00
          - +00:00
          - '+11:00'
          - '-10:00'
          - +05:00
          - -03:00
          - -04:00
          - -02:00
          - -07:00
          - '-11:00'
          - -06:00
          - '+10:00'
          - +09:00
          - +07:00
          - -08:00
          - +06:00
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: simple_query
        description: Query String with simple query format
        required: false
        schema:
          type: string
      - in: query
        name: revision
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: to
        description: End date of the histogram. Filters the value of selected aggregated-on field.
        required: false
        schema:
          type: string
          format: date-time
  /ctia/attack-pattern/metric/topn:
    get:
      tags:
      - Attack Pattern
      description: Requires capability search-attack-pattern.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/edn:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/MetricResult'
      summary: Topn for some Attack-pattern field
      parameters:
      - in: query
        name: sort_order
        description: ''
        required: false
        schema:
          type: string
          enum:
          - desc
          - asc
      - in: query
        name: tlp
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.kill_chain_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: language
        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: kill_chain_phases.phase_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: from
        description: ''
        required: true
        schema:
          type: string
          format: date-time
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: aggregate-on
        description: ''
        required: true
        schema:
          type: string
          enum:
          - source
      - in: query
        name: agg-key
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: simple_query
        description: Query String with simple query format
        required: false
        schema:
          type: string
      - in: query
        name: revision
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: to
        description: ''
        required: false
        schema:
          type: string
          format: date-time
  /ctia/attack-pattern/metric/cardinality:
    get:
      tags:
      - Attack Pattern
      description: Requires capability search-attack-pattern.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/edn:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/MetricResult'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/MetricResult'
      summary: Cardinality for some Attack-pattern field
      parameters:
      - in: query
        name: tlp
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.kill_chain_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: search_after
        description: Pagination stateless cursor
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: language
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: id
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: kill_chain_phases.phase_name
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: from
        description: ''
        required: true
        schema:
          type: string
          format: date-time
      - in: query
        name: source
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: aggregate-on
        description: ''
        required: true
        schema:
          type: string
          enum:
          - source
      - in: query
        name: query
        description: ''
        required: false
        schema:
          type: string
      - in: query
        name: simple_query
        description: Query String with simple query format
        required: false
        schema:
          type: string
      - in: query
        name: revision
        description: ''
        required: false
        schema:
          type: integer
          format: int64
      - in: query
        name: to
        description: ''
        required: false
        schema:
          type: string
          format: date-time
  /ctia/attack-pattern/mitre/{mitre-id}:
    get:
      tags:
      - Attack Pattern
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/x-yaml:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/edn:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+json:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
            application/transit+msgpack:
              schema:
                $ref: '#/components/schemas/PartialAttackPattern'
      parameters:
      - in: path
        name: mitre-id
        description: ''
        required: true
        schema:
          type: string
      summary: AttackPa

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