Create a case
https://{kibana_url}
- POST /api/cases
- POST /s/{space_id}/api/cases
Refer to Spaces for more information.
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.
Request
-
assigneesnull · max: 10nullable -
An array containing users that are assigned to the case.
-
uidstringrequired -
A unique identifier for the user profile. These identifiers can be found by using the suggest user profile API.
-
categorystring · max: 50 -
A word or phrase that categorizes the case.
-
connectoroneOfrequired -
fieldsstringrequired nullable -
An object containing the connector fields. To create a case without a connector, specify null. To update a case to remove the connector, specify null.
-
idstringrequired -
The identifier for the connector. To create a case without a connector, use
none. To update a case to remove the connector, specifynone. -
namestringrequired -
The name of the connector. To create a case without a connector, use
none. To update a case to remove the connector, specifynone. -
typerequired -
The type of connector. To create a case without a connector, use
.none. To update a case to remove the connector, specify.none. -
Values:
.none -
fieldsobjectrequired nullable -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
issueTypesstringrequired -
The type of incident.
-
severityCodestringrequired -
The severity code of the incident.
-
idstringrequired -
The identifier for the connector.
-
namestringrequired -
The name of the connector.
-
fieldsobjectrequired -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
categorystringrequired nullable -
The category of the incident.
-
impactstringrequired nullable -
The effect an incident had on business.
-
severitystringrequired nullable -
The severity of the incident.
-
subcategorystringrequired nullable -
The subcategory of the incident.
-
urgencystringrequired nullable -
The extent to which the incident resolution can be delayed.
-
idstringrequired -
The identifier for the connector. To retrieve connector IDs, use the find connectors API.
-
namestringrequired -
The name of the connector.
-
fieldsobjectrequired -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
categorystringrequired nullable -
The category of the incident.
-
destIpbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of destination IPs.
-
malwareHashbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of malware hashes.
-
malwareUrlbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of malware URLs.
-
prioritystringrequired nullable -
The priority of the issue.
-
sourceIpbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of source IPs.
-
subcategorystringrequired nullable -
The subcategory of the incident.
-
idstringrequired -
The identifier for the connector. To retrieve connector IDs, use the find connectors API.
-
namestringrequired -
The name of the connector.
-
fieldsobjectrequired -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
caseIdstringrequired nullable -
The case identifier for Swimlane connectors.
-
idstringrequired -
The identifier for the connector. To retrieve connector IDs, use the find connectors API.
-
namestringrequired -
The name of the connector.
-
customFieldsobject · min: 0 · max: 10 -
Custom field values for a case. Any optional custom fields that are not specified in the request are set to null.
-
keystringrequired -
The unique identifier for the custom field. The key value must exist in the case configuration settings.
-
typerequired -
The custom field type. It must match the type specified in the case configuration settings.
-
Values:
texttoggle -
valuestring | booleanrequired nullable -
The custom field value. If the custom field is required, it cannot be explicitly set to null. However, for cases that existed when the required custom field was added, the default value stored in Elasticsearch is
undefined. The value returned in the API and user interface in this case isnull. -
descriptionstring · max: 30000required -
The description for the case.
-
extended_fieldsobject -
Case field values keyed by storage key. Keys follow the
<field_name>_as_<storage_type>convention (for examplepriority_as_keyword) and map to the owner's global (library-wide) fields plus, when a template is applied to the case, that template's fields. On update, the keys provided are merged into the stored map; unlisted keys are left untouched. To discover the writable keys, use the get case fields API (GET /api/cases/fields). -
ownerrequired -
The application that owns the cases: Stack Management, Observability, or Elastic Security.
-
Values:
casesobservabilitysecuritySolution -
settingsrequired -
An object that contains the case settings.
-
extractObservablesboolean -
When true, observables (for example, IPs, hashes, and URLs) are automatically extracted from case comments. When omitted on create, the space configuration default is used. Falls back to the owner's default when no space configuration exists:
truefor Security,falsefor Stack and Observability. Precedence: explicit value > template setting > space config > owner default. For owners that do not support observable extraction (currently Observability), an omitted value resolves tofalseregardless of the space configuration. -
syncAlertsbooleanrequired -
Turns alert syncing on or off.
-
The words and phrases that help categorize cases. It can be an empty array.
-
templateobjectnullable -
A case template to create the case from. Requires the
xpack.cases.templates.enabledsetting. The server applies the template's case defaults (severity, category, tags, assignees, settings, connector) and its field defaults intoextended_fields; any value explicitly provided in the request wins over the template default. Whenversionis omitted, the latest version of the template is resolved and pinned on the case. To discover a template's fields before creating a case, use the get case fields API (GET /api/cases/fields). -
titlestring · max: 160required -
A title for the case.
Defines properties for connectors when type is .none.
Defines properties for connectors when type is .cases-webhook.
Defines properties for connectors when type is .jira.
Defines properties for connectors when type is .resilient.
Defines properties for connectors when type is .servicenow.
Defines properties for connectors when type is .servicenow-sir.
Defines properties for connectors when type is .swimlane.
Responses
Indicates a successful call.
-
assigneesnull · max: 10nullable -
An array containing users that are assigned to the case.
-
uidstringrequired -
A unique identifier for the user profile. These identifiers can be found by using the suggest user profile API.
-
categorystringnullable -
The case category.
-
closed_atstringrequired nullable -
closed_byrequired nullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
commentsoneOf · max: 10000required -
An array of comment objects for the case.
-
alertIdstring -
created_atstring -
created_byobject -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
idstring -
indexstring -
owner -
The application that owns the cases: Stack Management, Observability, or Elastic Security.
-
Values:
casesobservabilitysecuritySolution -
pushed_atstringnullable -
pushed_byobjectnullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
typerequired -
Values:
alert -
updated_atstringnullable -
updated_byobjectnullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
versionstring -
created_atstring -
created_by -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
eventIdstring -
idstring -
indexstring -
owner -
The application that owns the cases: Stack Management, Observability, or Elastic Security.
-
Values:
casesobservabilitysecuritySolution -
pushed_atstringnullable -
pushed_bynullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
typerequired -
Values:
event -
updated_atstringnullable -
updated_bynullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
versionstring -
commentstring -
created_atstring -
created_by -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
idstring -
owner -
The application that owns the cases: Stack Management, Observability, or Elastic Security.
-
Values:
casesobservabilitysecuritySolution -
pushed_atstringnullable -
pushed_bynullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
typerequired -
Values:
user -
updated_atstringnullable -
updated_bynullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
versionstring -
connectoroneOfrequired -
fieldsstringrequired nullable -
An object containing the connector fields. To create a case without a connector, specify null. To update a case to remove the connector, specify null.
-
idstringrequired -
The identifier for the connector. To create a case without a connector, use
none. To update a case to remove the connector, specifynone. -
namestringrequired -
The name of the connector. To create a case without a connector, use
none. To update a case to remove the connector, specifynone. -
typerequired -
The type of connector. To create a case without a connector, use
.none. To update a case to remove the connector, specify.none. -
Values:
.none -
fieldsobjectrequired nullable -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
issueTypesstringrequired -
The type of incident.
-
severityCodestringrequired -
The severity code of the incident.
-
idstringrequired -
The identifier for the connector.
-
namestringrequired -
The name of the connector.
-
fieldsobjectrequired -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
categorystringrequired nullable -
The category of the incident.
-
impactstringrequired nullable -
The effect an incident had on business.
-
severitystringrequired nullable -
The severity of the incident.
-
subcategorystringrequired nullable -
The subcategory of the incident.
-
urgencystringrequired nullable -
The extent to which the incident resolution can be delayed.
-
idstringrequired -
The identifier for the connector. To retrieve connector IDs, use the find connectors API.
-
namestringrequired -
The name of the connector.
-
fieldsobjectrequired -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
categorystringrequired nullable -
The category of the incident.
-
destIpbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of destination IPs.
-
malwareHashbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of malware hashes.
-
malwareUrlbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of malware URLs.
-
prioritystringrequired nullable -
The priority of the issue.
-
sourceIpbooleanrequired nullable -
Indicates whether cases will send a comma-separated list of source IPs.
-
subcategorystringrequired nullable -
The subcategory of the incident.
-
idstringrequired -
The identifier for the connector. To retrieve connector IDs, use the find connectors API.
-
namestringrequired -
The name of the connector.
-
fieldsobjectrequired -
An object containing the connector fields. If you want to omit any individual field, specify null as its value.
-
caseIdstringrequired nullable -
The case identifier for Swimlane connectors.
-
idstringrequired -
The identifier for the connector. To retrieve connector IDs, use the find connectors API.
-
namestringrequired -
The name of the connector.
-
created_atstringrequired -
created_byrequired -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
customFieldsobject -
Custom field values for the case.
-
keystring -
The unique identifier for the custom field. The key value must exist in the case configuration settings.
-
type -
The custom field type. It must match the type specified in the case configuration settings.
-
Values:
texttoggle -
valuestring | booleannullable -
The custom field value. If the custom field is required, it cannot be explicitly set to null. However, for cases that existed when the required custom field was added, the default value stored in Elasticsearch is
undefined. The value returned in the API and user interface in this case isnull. -
descriptionstringrequired -
durationintegerrequired nullable -
The elapsed time from the creation of the case to its closure (in seconds). If the case has not been closed, the duration is set to null. If the case was closed after less than half a second, the duration is rounded down to zero.
-
extended_fieldsmap string to string -
The case's stored field values, keyed by storage key (for example
priority_as_keyword). -
external_servicerequired nullable -
connector_idstring -
connector_namestring -
external_idstring -
external_titlestring -
external_urlstring -
pushed_atstring -
pushed_byobjectnullable -
emailstringnullable -
full_namestringnullable -
profile_uidstring -
usernamestringnullable -
idstringrequired -
incremental_idintegernullable -
A monotonically increasing number assigned to each case, unique per space. This value is generated asynchronously after the case is created and may not be present immediately in the response.
-
observablesobjectrequired -
Observables attached to the case.
-
createdAtstringrequired -
When the observable was created.
-
descriptionstringrequired nullable -
An optional description for the observable.
-
idstringrequired -
The observable identifier.
-
typeKeystringrequired -
The observable type key.
-
updatedAtstringrequired nullable -
When the observable was last updated.
-
valuestringrequired -
The observable value.
-
ownerrequired -
The application that owns the cases: Stack Management, Observability, or Elastic Security.
-
Values:
casesobservabilitysecuritySolution -
settingsrequired -
An object that contains the case settings.
-
extractObservablesboolean -
When true, observables (for example, IPs, hashes, and URLs) are automatically extracted from case comments. When omitted on create, the space configuration default is used. Falls back to the owner's default when no space configuration exists:
truefor Security,falsefor Stack and Observability. Precedence: explicit value > template setting > space config > owner default. For owners that do not support observable extraction (currently Observability), an omitted value resolves tofalseregardless of the space configuration. -
syncAlertsbooleanrequired -
Turns alert syncing on or off.
-
titlestringrequired -
total_observablesintegerrequired nullable -
The number of observables attached to the case.
-
totalAlertsintegerrequired -
totalCommentintegerrequired -
totalEventsinteger -
The number of events attached to the case.
-
updated_atstringrequired nullable -
updated_byrequired nullable -
emailstringrequired nullable -
full_namestringrequired nullable -
profile_uidstring -
usernamestringrequired nullable -
versionstringrequired
type: .none
Defines properties for connectors when type is .none.
type: .cases-webhook
Defines properties for connectors when type is .cases-webhook.
type: .jira
Defines properties for connectors when type is .jira.
type: .resilient
Defines properties for connectors when type is .resilient.
type: .servicenow
Defines properties for connectors when type is .servicenow.
type: .servicenow-sir
Defines properties for connectors when type is .servicenow-sir.
type: .swimlane
Defines properties for connectors when type is .swimlane.
Authorization information is missing or invalid.
-
errorstring -
messagestring -
statusCodeinteger