Create case APIedit

Creates a case.

For the most up-to-date API details, refer to the open API specification. For a preview, check out Case APIs.

Requestedit

POST <kibana host>:<port>/api/cases

POST <kibana host>:<port>/s/<space_id>/api/cases

Prerequisitesedit

You must have all privileges for the Cases feature in the Management, Observability, or Security section of the Kibana feature privileges, depending on the owner of the case you’re creating.

Path parametersedit

<space_id>
(Optional, string) An identifier for the space. If it is not specified, the default space is used.

Request bodyedit

assignees

(Optional, array of objects) Array containing users that are assigned to the case.

Properties of assignee objects
uid
(Required, string) A unique identifier for the user profile. These identifiers can be found by using the suggest user profile API.
connector

(Required, object) An object that contains the connector configuration.

Properties of connector
fields

(Required, object) An object containing the connector fields. To create a case without a connector, specify null. If you want to omit any individual field, specify null as its value.

Properties of fields

For IBM Resilient connectors, specify:

issueTypes
(Required, array of strings) The type of the incident.
severityCode
(Required, string) The severity code of the incident.

For Jira connectors, specify:

issueType
(Required, string) The type of the issue.
parent
(Required, string) The key of the parent issue, when the issue type is Sub-task.
priority
(Required, string) The priority of the issue.

For ServiceNow ITSM connectors, specify:

category
(Required, string) The category of the incident.
impact
(Required, string) The effect an incident had on business.
severity
(Required, string) The severity of the incident.
subcategory
(Required, string) The subcategory of the incident.
urgency
(Required, string) The extent to which the incident resolution can be delayed.

For ServiceNow SecOps connectors, specify:

category
(Required, string) The category of the incident.
destIp
(Required, string) A comma separated list of destination IPs.
malwareHash
(Required, string) A comma separated list of malware hashes.
malwareUrl
(Required, string) A comma separated list of malware URLs.
priority
(Required, string) The priority of the incident.
sourceIp
(Required, string) A comma separated list of source IPs.
subcategory
(Required, string) The subcategory of the incident.

For Swimlane connectors, specify:

caseId
(Required, string) The case ID.

For Webhook - Case Management connectors, specify null.

id
(Required, string) The identifier for the connector. To create a case without a connector, use none. To retrieve connector IDs, use Find connectors.
name
(Required, string) The name of the connector. To create a case without a connector, use none.
type
(Required, string) The type of the connector. Valid values are: .cases-webhook, .jira, .none, .resilient,.servicenow, .servicenow-sir, and .swimlane. To create a case without a connector, use .none.
description
(Required, string) The description for the case.
owner
(Required, string) The application that owns the case. Valid values are: cases, observability, or securitySolution. This value affects whether the case is visible in the Stack Management, Observability, or Elastic Security app.
settings

(Required, object) An object that contains the case settings.

Properties of settings
syncAlerts
(Required, boolean) Turns alert syncing on or off.
severity
(Optional,string) The severity of the case. Valid values are: critical, high, low, and medium.
tags
(Required, string array) The words and phrases that help categorize cases. It can be an empty array.
title
(Required, string) A title for the case.

Response codesedit

200
Indicates a successful call.

Examplesedit

POST api/cases
{
  "description": "A case description.",
  "title": "Case title 1",
  "tags": [ "tag 1" ],
  "connector": {
    "id": "131d4448-abe0-4789-939d-8ef60680b498",
    "name": "My connector",
    "type": ".jira",
    "fields": {
      "issueType": "10006",
      "priority": "High",
      "parent": null
    }
  },
  "settings": {
    "syncAlerts": true
  },
  "owner": "cases"
}

The API returns a JSON object that includes the user who created the case and the case identifier, version, and creation time. For example:

{
  "id": "66b9aa00-94fa-11ea-9f74-e7e108796192", 
  "version": "WzUzMiwxXQ==",
  "comments": [],
  "totalComment": 0,
  "totalAlerts": 0,
  "title": "Case title 1",
  "tags": [ "tag 1" ],
  "assignees": [],
  "settings": {
    "syncAlerts": true
  },
  "owner": "cases",
  "description": "A case description.",
  "duration": null,
  "severity": "low",
  "closed_at": null,
  "closed_by": null,
  "created_at": "2022-05-13T09:16:17.416Z",
  "created_by": {
    "email": null,
    "full_name": null,
    "username": "elastic"
  },
  "status": "open",
  "updated_at": null,
  "updated_by": null,
  "connector": {
    "id": "131d4448-abe0-4789-939d-8ef60680b498", 
    "name": "My connector",
    "type": ".jira",
    "fields": {
      "issueType": "10006",
      "parent": null,
      "priority": "High"
    }
  },
  "external_service": null 
}

The case identifier is also its saved object ID (savedObjectId), which is used when pushing cases to external systems.

The default connector used to push cases to external services.

The external_service object stores information about the incident after it is pushed to an external incident management system.