For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cases

Cases APIs to search and update cases, retrieve case artifacts, manage War Room entries, retrieve timeline records, and add manual timeline records to cases.

Retrieve cases based on filters

post

This endpoint retrieves a list of cases that match the specified filter criteria. It supports filtering, sorting, and pagination.

Supported Filter Fields & Operators

See the Supported Filter Fields & Operators for more details.

Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management

Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Body
Responses
200

Successful response with cases

application/json
post/public_api/v1/case/search
POST /public_api/v1/case/search HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: text
Content-Type: application/json
Accept: */*
Content-Length: 153

{
  "request_data": {
    "filters": [
      {
        "field": "case_id",
        "operator": "in",
        "value": [
          1
        ]
      }
    ],
    "search_from": 0,
    "search_to": 100,
    "sort": {
      "field": "case_id",
      "keyword": "asc"
    }
  }
}
{
  "reply": {
    "TOTAL_COUNT": 1,
    "FILTER_COUNT": 1,
    "DATA": [
      {
        "case_id": 834,
        "is_blocked": false,
        "case_name": "Windows Installer exploitation for local privilege escalation",
        "creation_time": 1776902615000,
        "modification_time": 1776902615000,
        "status_progress": "Resolved",
        "resolve_reason": "Resolved - Other",
        "severity": "high",
        "description": "Reduce risk from the listed configuration issues through the primary AWS asset.",
        "assigned_user_mail": "user@example.com",
        "assigned_user_pretty_name": "Jane Smith",
        "issue_count": 1,
        "user_severity": "medium",
        "notes": "Investigation complete, no further action needed.",
        "low_severity_issue_count": 0,
        "med_severity_issue_count": 0,
        "high_severity_issue_count": 1,
        "critical_severity_issue_count": 0,
        "user_count": 0,
        "host_count": 1,
        "resolve_comment": "Resolved via public API.",
        "resolved_timestamp": 1708950896000,
        "xdr_url": "https://your-fqdn.xdr.us.paloaltonetworks.com/incident-view?caseId=834",
        "starred": false,
        "hosts": [
          "host-1:a8d24e796ef264a33e6e84c707ff2f67"
        ],
        "users": [
          "admin"
        ],
        "aggregated_score": 85,
        "wildfire_hits": 0,
        "mitre_tactics_ids_and_names": [
          "TA0004 - Privilege Escalation"
        ],
        "mitre_techniques_ids_and_names": [
          "T1068 - Exploitation for Privilege Escalation"
        ],
        "issue_categories": [
          "Privilege Escalation"
        ],
        "tags": [
          "DS:PANW/XSIAM Manual",
          "DOM:Security"
        ],
        "custom_fields": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        },
        "asset_ids": [
          "text"
        ],
        "asset_group_ids": [
          "text"
        ],
        "asset_group_names": [
          "text"
        ],
        "assets": [
          {
            "asset_id": "a8d24e796ef264a33e6e84c707ff2f67",
            "asset_name": "systest-uai-instance-itnc",
            "asset_type": "EC2 Instance",
            "asset_region": "us-east-1",
            "asset_group_ids": [
              1,
              5,
              7
            ],
            "asset_provider": "AWS",
            "asset_account": "195898722190",
            "asset_category": "VM Instance",
            "asset_cloud_account_name": "195898722190",
            "asset_external_provider_id": "text",
            "asset_tags": {
              "environment": "production",
              "team": "platform-security"
            },
            "asset_group_names": [
              "text"
            ]
          }
        ],
        "case_domain": "Security",
        "issue_ids": [
          890
        ],
        "file_artifact_ids": {
          "DATA": [
            "e872623cc49d1c5cdce7c1ff4c481153"
          ],
          "TOTAL_COUNT": 1
        },
        "network_artifact_ids": {
          "DATA": [],
          "TOTAL_COUNT": 0
        },
        "case_team": [
          {
            "id": "text",
            "member_type": "USER",
            "team_role": "OWNER"
          }
        ],
        "access_mode": "CASE_SCOPE"
      }
    ]
  }
}

Update existing case

post

Update an existing case in the system. Users can only update one case at a time.

At least one valid update field must be provided in update_data. An empty update_data object will return a 400 error. All field values must be non-null.

Update Fields

See the Update Fields for more details.

Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management

Path parameters
case-idintegerRequired

Numeric ID of the case to update

Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Body
Responses
204

Case updated successfully

No content

post/public_api/v1/case/update/{case-id}
POST /public_api/v1/case/update/{case-id} HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: text
Content-Type: application/json
Accept: */*
Content-Length: 392

{
  "request_data": {
    "update_data": {
      "status_progress": "Resolved",
      "resolve_reason": "Resolved - Other",
      "resolve_comment": "Resolved via public API.",
      "notes": "Investigation complete, no further action needed.",
      "user_severity": "high",
      "assigned_user": "john_doe@domain.com",
      "case_team": [
        {
          "id": "text",
          "member_type": "USER",
          "team_role": "OWNER"
        }
      ],
      "access_mode": "CASE_SCOPE",
      "ANY_ADDITIONAL_PROPERTY": null
    }
  }
}

No content

Retrieve case artifacts

get

This endpoint retrieves the artifacts for a given case_id.

Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management

Path parameters
case-idintegerRequired

Numeric ID of the case

Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Responses
200

Successful response with case artifacts

application/json
case_idintegerOptional

Case ID for which the artifacts are fetched

Example: 1234
get/public_api/v1/case/artifacts/{case-id}/
GET /public_api/v1/case/artifacts/{case-id}/ HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: text
Accept: */*
[
  {
    "case_id": 1234,
    "network_artifacts": {
      "DATA": [
        {
          "artifact_id": "A12345",
          "file_name": "test",
          "file_sha256": "abc123def456",
          "file_signature_status": "SIGNATURE_UNAVAILABLE",
          "file_wildfire_verdict": "BENIGN",
          "is_malicious": true,
          "is_manual": false,
          "is_process": false,
          "low_confidence": false,
          "type": "HASH"
        }
      ],
      "TOTAL_COUNT": 10
    },
    "file_artifacts": {
      "DATA": [
        {
          "artifact_id": "A12345",
          "file_name": "test",
          "file_sha256": "abc123def456",
          "file_signature_status": "SIGNATURE_UNAVAILABLE",
          "file_wildfire_verdict": "BENIGN",
          "is_malicious": true,
          "is_manual": false,
          "is_process": false,
          "low_confidence": false,
          "type": "HASH"
        }
      ],
      "TOTAL_COUNT": 10
    }
  }
]

Get cases schema

get

Returns the schema of all available case fields, including core fields and tenant-specific custom fields. Each entry includes the field name, a human-readable display name, and the data type.

Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management

Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Responses
200

Successful response with cases schema

application/json
get/public_api/v1/case/schema
GET /public_api/v1/case/schema HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: text
Accept: */*
{
  "reply": [
    {
      "field_name": "case_id",
      "field_pretty_name": "Case ID",
      "data_type": "INT"
    }
  ]
}

Retrieve case timeline records

post

Retrieve the timeline records for a specific case. Supports filtering, sorting, and pagination. Returns flat timeline records (no clustering).

Required license: Cortex Cloud Posture Management or Cortex Cloud Runtime Security.

Path parameters
case-idstringRequired

Numeric ID of the case

Example: 12345
Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Example: 1
Body
Responses
200

OK. Request Successful.

application/json
post/public_api/v1/case/timeline/{case-id}/
POST /public_api/v1/case/timeline/{case-id}/ HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: 1
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "request_data": {
    "filters": [
      {
        "field": "record_type",
        "operator": "in",
        "value": [
          "Case activity"
        ]
      }
    ],
    "search_from": 0,
    "search_to": 100,
    "sort": {
      "field": "occurred_at",
      "keyword": "asc"
    }
  }
}
{
  "reply": {
    "DATA": [
      {
        "record_id": "4f2d9b8c7a1e4d6fb3c2a1d9e8f7b6c5",
        "record_name": "Case timeline record",
        "description": "Case status changed from Open to Resolved.",
        "record_type": "Case activity",
        "record_subtype": "Note added",
        "timelines": [
          "Test"
        ],
        "tags": [
          "important"
        ],
        "source": "API Key",
        "source_id": "123",
        "creation_time": 1735689600000,
        "occurred_at": 1735689600000,
        "is_evidence": true,
        "evidence_title": "Service Account has cross cloud admin permissions",
        "evidence_comment": "Key evidence findings",
        "evidence_flag_time": 1784276913000,
        "evidence_flag_by": "John Doe",
        "attachments": [
          {
            "filename": "evidence.png"
          }
        ],
        "query_execution_id": "query_exec_example_001"
      }
    ],
    "FILTER_COUNT": 1,
    "TOTAL_COUNT": 4
  }
}

Add a case timeline record

post

Adds a manual timeline record to the specified case. The API automatically sets the source field to API Key and the source_id field to the ID of the API key used for the request.

Required license: Cortex Cloud Posture Management or Cortex Cloud Runtime Security.

Path parameters
case-idstringRequired

Numeric ID of the case

Example: 12345
Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Example: 1
Body
Responses
200

OK. The timeline record was created successfully.

application/json
post/public_api/v1/case/timeline/{case-id}/add_record/
POST /public_api/v1/case/timeline/{case-id}/add_record/ HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: 1
Content-Type: application/json
Accept: */*
Content-Length: 326

{
  "request_data": {
    "record_type": "Case activity",
    "record_name": "Manual investigation note",
    "occurred_at": 1779220493000,
    "description": "Analyst reviewed the affected host and confirmed remediation.",
    "is_evidence": true,
    "evidence_comment": "Key finding for the investigation.",
    "tags": [
      "investigation"
    ],
    "timelines": [
      "Investigation"
    ]
  }
}
{
  "reply": {
    "record_id": "4f2d9b8c7a1e4d6fb3c2a1d9e8f7b6c5",
    "case_id": 12345
  }
}

Get War Room entries

post

Get the War Room entries for a specific case or alert. You can filter by timestamp, ID, and tags. You can also choose which type of entries you want to retrieve (notes, chat, attachments...). The response depends on what type of entry you choose to retrieve.

Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management

Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Body
idstringOptional

The unique identifier of the case or alert for which the War Room entry is created.

  • Case IDs must be prefixed with INCIDENT- (for example, INCIDENT-3).
  • Alert IDs should be provided without any prefix (for example, 3).
Responses
200

OK

application/json
totalintegerOptional
post/public_api/v1/entries/get
POST /public_api/v1/entries/get HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: text
Content-Type: application/json
Accept: */*
Content-Length: 126

{
  "id": "text",
  "filter": {
    "firstID": "text",
    "lastID": "text",
    "pagesize": 1,
    "fromTime": "text",
    "categories": [
      "tags"
    ],
    "tags": [
      "text"
    ]
  }
}
{
  "total": 2,
  "data": [
    {
      "id": "f1db36f0-d00f-4470-818f-c6911d392f76@INCIDENT-1",
      "modified": "2025-01-02T10:17:57.738577545Z",
      "created": "2025-01-01T13:15:48.302901Z",
      "user": "",
      "parentContent": "!markAsNote entryIDs=\"1\"",
      "contents": "done",
      "format": "text",
      "investigationId": "INCIDENT-1",
      "category": "artifact",
      "isTodo": false,
      "tags": [
        "john100"
      ]
    },
    {
      "id": "0d6a01a4-58b5-4121-8db7-c371e38284db@INCIDENT-1",
      "modified": "2025-01-02T10:22:26.6396269Z",
      "created": "2025-01-02T09:11:51.747644Z",
      "user": "",
      "contents": "'aaaaaa'",
      "format": "text",
      "investigationId": "INCIDENT-1",
      "category": "artifact",
      "isTodo": false,
      "tags": [
        "john200"
      ]
    }
  ]
}

Add War Room entries

post

Add an entry to the cases or alert War Room, including data. Note: This endpoint only adds entries to existing War Rooms; it does not create them. Ensure that the War Room already exists before making this request.

Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management

Header parameters
AuthorizationstringRequired

{api_key}

x-xdr-auth-idstringRequired

{api_key_id}

Body
idstringOptional

The unique identifier of the case/issue or alert for which the War Room entry is created.

  • Case or issue IDs must be prefixed with INCIDENT- (for example, INCIDENT-3).
  • Alert IDs should be provided without any prefix (for example, 3).
datastringOptional

The data you want to add or the command you want to run in the War Room.

Responses
200

OK

application/json
idstringOptional
versionintegerOptional
cacheVersnintegerOptional
modifiedstringOptional
sizeInBytesintegerOptional
typeintegerOptional
createdstringOptional
incidentCreationTimestringOptional
investigationCreationTimestringOptional
retryTimestringOptional
userstringOptional
errorSourcestringOptional
contentsstringOptional
formatstringOptional
investigationIdstringOptional
filestringOptional
fileIDstringOptional
parentIdstringOptional
pinnedbooleanOptional
fileMetadataobject · nullableOptional
parentContentobject · nullableOptional
parentEntryTruncatedbooleanOptional
systemstringOptional
reputationsobject · nullableOptional
categorystringOptional
notebooleanOptional
isTodobooleanOptional
tagsstring · nullableOptional
tagsRawstring · nullableOptional
startDatestringOptional
timesintegerOptional
recurrentbooleanOptional
endingDatestringOptional
timezoneOffsetintegerOptional
cronViewbooleanOptional
scheduledbooleanOptional
scheduledEntryGuidstringOptional
entryTaskobject · nullableOptional
taskIdstringOptional
playbookIdstringOptional
reputationSizeintegerOptional
contentsSizeintegerOptional
brandstringOptional
InstanceIDstringOptional
IndicatorTimelineinteger · nullableOptional
Relationshipsstring · nullableOptional
mirroredbooleanOptional
post/public_api/v1/entries/insert
POST /public_api/v1/entries/insert HTTP/1.1
Host: api-yourfqdn
Authorization: text
x-xdr-auth-id: text
Content-Type: application/json
Accept: */*
Content-Length: 37

{
  "id": "1",
  "data": "!Print value=1000"
}
{
  "id": "b30fadee-53e3-4859-8c79-fa328ba7b4fd@1",
  "version": 1,
  "cacheVersn": 0,
  "modified": "2025-01-29T13:48:41.591466357Z",
  "sizeInBytes": 0,
  "type": 1,
  "created": "2025-01-29T13:48:41.591444333Z",
  "incidentCreationTime": "2025-01-29T13:48:41.591444333Z",
  "investigationCreationTime": "2024-12-25T14:43:07.697Z",
  "retryTime": "0001-01-01T00:00:00Z",
  "user": "",
  "errorSource": "",
  "contents": "!Print value=1",
  "format": "text",
  "investigationId": "1",
  "file": "",
  "fileID": "",
  "parentId": "",
  "pinned": false,
  "fileMetadata": null,
  "parentContent": null,
  "parentEntryTruncated": false,
  "system": "",
  "reputations": null,
  "category": "chat",
  "note": false,
  "isTodo": false,
  "tags": null,
  "tagsRaw": null,
  "startDate": "0001-01-01T00:00:00Z",
  "times": 0,
  "recurrent": false,
  "endingDate": "0001-01-01T00:00:00Z",
  "timezoneOffset": 0,
  "cronView": false,
  "scheduled": false,
  "scheduledEntryGuid": "",
  "entryTask": null,
  "taskId": "",
  "playbookId": "",
  "reputationSize": 0,
  "contentsSize": 14,
  "brand": "none",
  "InstanceID": "",
  "IndicatorTimeline": null,
  "Relationships": null,
  "mirrored": false
}

Last updated

Was this helpful?