[DOCS] Automate docs for push case and case case config APIs (#144657)

This commit is contained in:
Lisa Cawley 2022-11-08 09:34:52 -08:00 committed by GitHub
parent dd03796cdf
commit 9bf262dd1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 2042 additions and 24 deletions

View file

@ -23,8 +23,12 @@ Any modifications made to this file will be overwritten.
<li><a href="#deleteCase"><code><span class="http-method">delete</span> /s/{spaceId}/api/cases</code></a></li>
<li><a href="#deleteCaseComments"><code><span class="http-method">delete</span> /s/{spaceId}/api/cases/{caseId}/comments</code></a></li>
<li><a href="#getAllCaseComments"><code><span class="http-method">get</span> /s/{spaceId}/api/cases/{caseId}/comments</code></a></li>
<li><a href="#getCaseConfiguration"><code><span class="http-method">get</span> /s/{spaceId}/api/cases/configure</code></a></li>
<li><a href="#pushCase"><code><span class="http-method">post</span> /s/{spaceId}/api/cases/{caseId}/connector/{connectorId}/_push</code></a></li>
<li><a href="#setCaseConfiguration"><code><span class="http-method">post</span> /s/{spaceId}/api/cases/configure</code></a></li>
<li><a href="#updateCase"><code><span class="http-method">patch</span> /s/{spaceId}/api/cases</code></a></li>
<li><a href="#updateCaseComment"><code><span class="http-method">patch</span> /s/{spaceId}/api/cases/{caseId}/comments</code></a></li>
<li><a href="#updateCaseConfiguration"><code><span class="http-method">patch</span> /s/{spaceId}/api/cases/configure/{configurationId}</code></a></li>
</ul>
<h1><a name="Cases">Cases</a></h1>
@ -446,6 +450,306 @@ Any modifications made to this file will be overwritten.
<a href="#case_response_properties">case_response_properties</a>
</div> <!-- method -->
<hr/>
<div class="method"><a name="getCaseConfiguration"/>
<div class="method-path">
<a class="up" href="#__Methods">Up</a>
<pre class="get"><code class="huge"><span class="http-method">get</span> /s/{spaceId}/api/cases/configure</code></pre></div>
<div class="method-summary">Retrieves external connection details, such as the closure type and default connector for cases. (<span class="nickname">getCaseConfiguration</span>)</div>
<div class="method-notes">You must have <code>read</code> privileges for the <strong>Cases</strong> feature in the <strong>Management</strong>, <strong>Observability</strong>, or <strong>Security</strong> section of the Kibana feature privileges, depending on the owner of the case configuration.</div>
<h3 class="field-label">Path parameters</h3>
<div class="field-items">
<div class="param">spaceId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; An identifier for the space. If <code>/s/</code> and the identifier are omitted from the path, the default space is used. default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Query parameters</h3>
<div class="field-items">
<div class="param">owner (optional)</div>
<div class="param-desc"><span class="param-type">Query Parameter</span> &mdash; A filter to limit the response to a specific set of applications. If this parameter is omitted, the response contains information about all the cases that the user has access to read. default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Return type</h3>
<div class="return-type">
array[<a href="#getCaseConfiguration_200_response_inner">getCaseConfiguration_200_response_inner</a>]
</div>
<!--Todo: process Response Object and its headers, schema, examples -->
<h3 class="field-label">Example data</h3>
<div class="example-data-content-type">Content-Type: application/json; charset=utf-8</div>
<pre class="example"><code>{
"closure_type" : "close-by-user",
"owner" : "cases",
"mappings" : [ {
"action_type" : "overwrite",
"source" : "title",
"target" : "summary"
}, {
"action_type" : "overwrite",
"source" : "title",
"target" : "summary"
} ],
"connector" : {
"name" : "none",
"id" : "none",
"fields" : "{}",
"type" : ".none"
},
"updated_at" : "2022-06-01T19:58:48.169Z",
"updated_by" : {
"full_name" : "full_name",
"email" : "email",
"username" : "elastic"
},
"created_at" : "2022-06-01T17:07:17.767Z",
"id" : "4a97a440-e1cd-11ec-be9b-9b1838238ee6",
"error" : "error",
"created_by" : {
"full_name" : "full_name",
"email" : "email",
"username" : "elastic"
},
"version" : "WzIwNzMsMV0="
}</code></pre>
<h3 class="field-label">Produces</h3>
This API call produces the following media types according to the <span class="header">Accept</span> request header;
the media type will be conveyed by the <span class="header">Content-Type</span> response header.
<ul>
<li><code>application/json; charset=utf-8</code></li>
</ul>
<h3 class="field-label">Responses</h3>
<h4 class="field-label">200</h4>
Indicates a successful call.
</div> <!-- method -->
<hr/>
<div class="method"><a name="pushCase"/>
<div class="method-path">
<a class="up" href="#__Methods">Up</a>
<pre class="post"><code class="huge"><span class="http-method">post</span> /s/{spaceId}/api/cases/{caseId}/connector/{connectorId}/_push</code></pre></div>
<div class="method-summary">Pushes a case to an external service. (<span class="nickname">pushCase</span>)</div>
<div class="method-notes">You must have <code>all</code> privileges for the <strong>Actions and Connectors</strong> feature in the <strong>Management</strong> section of the Kibana feature privileges. You must also have <code>all</code> privileges for the <strong>Cases</strong> feature in the <strong>Management</strong>, <strong>Observability</strong>, or <strong>Security</strong> section of the Kibana feature privileges, depending on the owner of the case you're pushing.</div>
<h3 class="field-label">Path parameters</h3>
<div class="field-items">
<div class="param">caseId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; The identifier for the case. To retrieve case IDs, use the find cases API. All non-ASCII characters must be URL encoded. default: null </div><div class="param">connectorId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; An identifier for the connector. To retrieve connector IDs, use the find connectors API. default: null </div><div class="param">spaceId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; An identifier for the space. If <code>/s/</code> and the identifier are omitted from the path, the default space is used. default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Consumes</h3>
This API call consumes the following media types via the <span class="header">Content-Type</span> request header:
<ul>
<li><code>application/json</code></li>
</ul>
<h3 class="field-label">Request body</h3>
<div class="field-items">
<div class="param">body <a href="#object">object</a> (optional)</div>
<div class="param-desc"><span class="param-type">Body Parameter</span> &mdash; </div>
</div> <!-- field-items -->
<h3 class="field-label">Request headers</h3>
<div class="field-items">
<div class="param">kbn-xsrf (required)</div>
<div class="param-desc"><span class="param-type">Header Parameter</span> &mdash; default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Return type</h3>
<div class="return-type">
<a href="#case_response_properties">case_response_properties</a>
</div>
<!--Todo: process Response Object and its headers, schema, examples -->
<h3 class="field-label">Example data</h3>
<div class="example-data-content-type">Content-Type: application/json</div>
<pre class="example"><code>{
"owner" : "cases",
"totalComment" : 0,
"settings" : {
"syncAlerts" : true
},
"totalAlerts" : 0,
"closed_at" : "2000-01-23T04:56:07.000+00:00",
"comments" : [ null, null ],
"assignees" : [ {
"uid" : "u_0wpfV1MqYDaXzLtRVY-gLMrddKDEmfz51Fszhj7hWC8_0"
}, {
"uid" : "u_0wpfV1MqYDaXzLtRVY-gLMrddKDEmfz51Fszhj7hWC8_0"
} ],
"created_at" : "2022-05-13T09:16:17.416Z",
"description" : "A case description.",
"title" : "Case title 1",
"created_by" : {
"full_name" : "full_name",
"profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
"email" : "email",
"username" : "elastic"
},
"version" : "WzUzMiwxXQ==",
"closed_by" : {
"full_name" : "full_name",
"profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
"email" : "email",
"username" : "elastic"
},
"tags" : [ "tag-1" ],
"duration" : 120,
"updated_at" : "2000-01-23T04:56:07.000+00:00",
"updated_by" : {
"full_name" : "full_name",
"profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
"email" : "email",
"username" : "elastic"
},
"id" : "66b9aa00-94fa-11ea-9f74-e7e108796192",
"external_service" : {
"external_title" : "external_title",
"pushed_by" : {
"full_name" : "full_name",
"profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
"email" : "email",
"username" : "elastic"
},
"external_url" : "external_url",
"pushed_at" : "2000-01-23T04:56:07.000+00:00",
"connector_id" : "connector_id",
"external_id" : "external_id",
"connector_name" : "connector_name"
}
}</code></pre>
<h3 class="field-label">Produces</h3>
This API call produces the following media types according to the <span class="header">Accept</span> request header;
the media type will be conveyed by the <span class="header">Content-Type</span> response header.
<ul>
<li><code>application/json</code></li>
</ul>
<h3 class="field-label">Responses</h3>
<h4 class="field-label">200</h4>
Indicates a successful call.
<a href="#case_response_properties">case_response_properties</a>
</div> <!-- method -->
<hr/>
<div class="method"><a name="setCaseConfiguration"/>
<div class="method-path">
<a class="up" href="#__Methods">Up</a>
<pre class="post"><code class="huge"><span class="http-method">post</span> /s/{spaceId}/api/cases/configure</code></pre></div>
<div class="method-summary">Sets external connection details, such as the closure type and default connector for cases. (<span class="nickname">setCaseConfiguration</span>)</div>
<div class="method-notes">You must have <code>all</code> privileges for the <strong>Cases</strong> feature in the <strong>Management</strong>, <strong>Observability</strong>, or <strong>Security</strong> section of the Kibana feature privileges, depending on the owner of the case configuration. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Refer to the add connectors API. If you set a default connector, it is automatically selected when you create cases in Kibana. If you use the create case API, however, you must still specify all of the connector details.</div>
<h3 class="field-label">Path parameters</h3>
<div class="field-items">
<div class="param">spaceId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; An identifier for the space. If <code>/s/</code> and the identifier are omitted from the path, the default space is used. default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Consumes</h3>
This API call consumes the following media types via the <span class="header">Content-Type</span> request header:
<ul>
<li><code>application/json</code></li>
</ul>
<h3 class="field-label">Request body</h3>
<div class="field-items">
<div class="param">setCaseConfiguration_request <a href="#setCaseConfiguration_request">setCaseConfiguration_request</a> (optional)</div>
<div class="param-desc"><span class="param-type">Body Parameter</span> &mdash; </div>
</div> <!-- field-items -->
<h3 class="field-label">Request headers</h3>
<div class="field-items">
<div class="param">kbn-xsrf (required)</div>
<div class="param-desc"><span class="param-type">Header Parameter</span> &mdash; default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Return type</h3>
<div class="return-type">
<a href="#getCaseConfiguration_200_response_inner">getCaseConfiguration_200_response_inner</a>
</div>
<!--Todo: process Response Object and its headers, schema, examples -->
<h3 class="field-label">Example data</h3>
<div class="example-data-content-type">Content-Type: application/json; charset=utf-8</div>
<pre class="example"><code>{
"closure_type" : "close-by-user",
"owner" : "cases",
"mappings" : [ {
"action_type" : "overwrite",
"source" : "title",
"target" : "summary"
}, {
"action_type" : "overwrite",
"source" : "title",
"target" : "summary"
} ],
"connector" : {
"name" : "none",
"id" : "none",
"fields" : "{}",
"type" : ".none"
},
"updated_at" : "2022-06-01T19:58:48.169Z",
"updated_by" : {
"full_name" : "full_name",
"email" : "email",
"username" : "elastic"
},
"created_at" : "2022-06-01T17:07:17.767Z",
"id" : "4a97a440-e1cd-11ec-be9b-9b1838238ee6",
"error" : "error",
"created_by" : {
"full_name" : "full_name",
"email" : "email",
"username" : "elastic"
},
"version" : "WzIwNzMsMV0="
}</code></pre>
<h3 class="field-label">Produces</h3>
This API call produces the following media types according to the <span class="header">Accept</span> request header;
the media type will be conveyed by the <span class="header">Content-Type</span> response header.
<ul>
<li><code>application/json; charset=utf-8</code></li>
</ul>
<h3 class="field-label">Responses</h3>
<h4 class="field-label">200</h4>
Indicates a successful call.
<a href="#getCaseConfiguration_200_response_inner">getCaseConfiguration_200_response_inner</a>
</div> <!-- method -->
<hr/>
<div class="method"><a name="updateCase"/>
<div class="method-path">
<a class="up" href="#__Methods">Up</a>
@ -682,6 +986,104 @@ Any modifications made to this file will be overwritten.
<a href="#case_response_properties">case_response_properties</a>
</div> <!-- method -->
<hr/>
<div class="method"><a name="updateCaseConfiguration"/>
<div class="method-path">
<a class="up" href="#__Methods">Up</a>
<pre class="patch"><code class="huge"><span class="http-method">patch</span> /s/{spaceId}/api/cases/configure/{configurationId}</code></pre></div>
<div class="method-summary">Updates external connection details, such as the closure type and default connector for cases. (<span class="nickname">updateCaseConfiguration</span>)</div>
<div class="method-notes">You must have <code>all</code> privileges for the <strong>Cases</strong> feature in the <strong>Management</strong>, <strong>Observability</strong>, or <strong>Security</strong> section of the Kibana feature privileges, depending on the owner of the case configuration. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Refer to the add connectors API.</div>
<h3 class="field-label">Path parameters</h3>
<div class="field-items">
<div class="param">configurationId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; An identifier for the configuration. default: null </div><div class="param">spaceId (required)</div>
<div class="param-desc"><span class="param-type">Path Parameter</span> &mdash; An identifier for the space. If <code>/s/</code> and the identifier are omitted from the path, the default space is used. default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Consumes</h3>
This API call consumes the following media types via the <span class="header">Content-Type</span> request header:
<ul>
<li><code>application/json</code></li>
</ul>
<h3 class="field-label">Request body</h3>
<div class="field-items">
<div class="param">updateCaseConfiguration_request <a href="#updateCaseConfiguration_request">updateCaseConfiguration_request</a> (optional)</div>
<div class="param-desc"><span class="param-type">Body Parameter</span> &mdash; </div>
</div> <!-- field-items -->
<h3 class="field-label">Request headers</h3>
<div class="field-items">
<div class="param">kbn-xsrf (required)</div>
<div class="param-desc"><span class="param-type">Header Parameter</span> &mdash; default: null </div>
</div> <!-- field-items -->
<h3 class="field-label">Return type</h3>
<div class="return-type">
array[<a href="#getCaseConfiguration_200_response_inner">getCaseConfiguration_200_response_inner</a>]
</div>
<!--Todo: process Response Object and its headers, schema, examples -->
<h3 class="field-label">Example data</h3>
<div class="example-data-content-type">Content-Type: application/json; charset=utf-8</div>
<pre class="example"><code>{
"closure_type" : "close-by-user",
"owner" : "cases",
"mappings" : [ {
"action_type" : "overwrite",
"source" : "title",
"target" : "summary"
}, {
"action_type" : "overwrite",
"source" : "title",
"target" : "summary"
} ],
"connector" : {
"name" : "none",
"id" : "none",
"fields" : "{}",
"type" : ".none"
},
"updated_at" : "2022-06-01T19:58:48.169Z",
"updated_by" : {
"full_name" : "full_name",
"email" : "email",
"username" : "elastic"
},
"created_at" : "2022-06-01T17:07:17.767Z",
"id" : "4a97a440-e1cd-11ec-be9b-9b1838238ee6",
"error" : "error",
"created_by" : {
"full_name" : "full_name",
"email" : "email",
"username" : "elastic"
},
"version" : "WzIwNzMsMV0="
}</code></pre>
<h3 class="field-label">Produces</h3>
This API call produces the following media types according to the <span class="header">Accept</span> request header;
the media type will be conveyed by the <span class="header">Content-Type</span> response header.
<ul>
<li><code>application/json; charset=utf-8</code></li>
</ul>
<h3 class="field-label">Responses</h3>
<h4 class="field-label">200</h4>
Indicates a successful call.
</div> <!-- method -->
<hr/>
<h2><a name="__Models">Models</a></h2>
[ Jump to <a href="#__Methods">Methods</a> ]
@ -705,6 +1107,7 @@ Any modifications made to this file will be overwritten.
<li><a href="#case_response_properties_assignees_inner"><code>case_response_properties_assignees_inner</code> - </a></li>
<li><a href="#case_response_pushed_by_properties"><code>case_response_pushed_by_properties</code> - Case response properties for pushed_by</a></li>
<li><a href="#case_response_updated_by_properties"><code>case_response_updated_by_properties</code> - Case response properties for updated_by</a></li>
<li><a href="#closure_types"><code>closure_types</code> - </a></li>
<li><a href="#connector_properties_cases_webhook"><code>connector_properties_cases_webhook</code> - Create or upate case request properties for Cases Webhook connector</a></li>
<li><a href="#connector_properties_jira"><code>connector_properties_jira</code> - Create or update case request properties for a Jira connector</a></li>
<li><a href="#connector_properties_jira_fields"><code>connector_properties_jira_fields</code> - </a></li>
@ -717,15 +1120,26 @@ Any modifications made to this file will be overwritten.
<li><a href="#connector_properties_servicenow_sir_fields"><code>connector_properties_servicenow_sir_fields</code> - </a></li>
<li><a href="#connector_properties_swimlane"><code>connector_properties_swimlane</code> - Create case request properties for a Swimlane connector</a></li>
<li><a href="#connector_properties_swimlane_fields"><code>connector_properties_swimlane_fields</code> - </a></li>
<li><a href="#connector_types"><code>connector_types</code> - </a></li>
<li><a href="#create_case_request"><code>create_case_request</code> - Create case request</a></li>
<li><a href="#create_case_request_assignees_inner"><code>create_case_request_assignees_inner</code> - </a></li>
<li><a href="#create_case_request_connector"><code>create_case_request_connector</code> - </a></li>
<li><a href="#external_service"><code>external_service</code> - </a></li>
<li><a href="#getCaseConfiguration_200_response_inner"><code>getCaseConfiguration_200_response_inner</code> - </a></li>
<li><a href="#getCaseConfiguration_200_response_inner_connector"><code>getCaseConfiguration_200_response_inner_connector</code> - </a></li>
<li><a href="#getCaseConfiguration_200_response_inner_created_by"><code>getCaseConfiguration_200_response_inner_created_by</code> - </a></li>
<li><a href="#getCaseConfiguration_200_response_inner_mappings_inner"><code>getCaseConfiguration_200_response_inner_mappings_inner</code> - </a></li>
<li><a href="#getCaseConfiguration_200_response_inner_updated_by"><code>getCaseConfiguration_200_response_inner_updated_by</code> - </a></li>
<li><a href="#getCaseConfiguration_owner_parameter"><code>getCaseConfiguration_owner_parameter</code> - </a></li>
<li><a href="#owners"><code>owners</code> - </a></li>
<li><a href="#rule"><code>rule</code> - Alerting rule</a></li>
<li><a href="#setCaseConfiguration_request"><code>setCaseConfiguration_request</code> - </a></li>
<li><a href="#setCaseConfiguration_request_connector"><code>setCaseConfiguration_request_connector</code> - </a></li>
<li><a href="#setCaseConfiguration_request_settings"><code>setCaseConfiguration_request_settings</code> - </a></li>
<li><a href="#settings"><code>settings</code> - </a></li>
<li><a href="#severity_property"><code>severity_property</code> - </a></li>
<li><a href="#status"><code>status</code> - </a></li>
<li><a href="#updateCaseConfiguration_request"><code>updateCaseConfiguration_request</code> - </a></li>
<li><a href="#update_alert_comment_request_properties"><code>update_alert_comment_request_properties</code> - Update case comment request properties for alerts</a></li>
<li><a href="#update_case_comment_request"><code>update_case_comment_request</code> - Update case comment request</a></li>
<li><a href="#update_case_request"><code>update_case_request</code> - Update case request</a></li>
@ -942,6 +1356,12 @@ Any modifications made to this file will be overwritten.
<div class="param">profile_uid (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="closure_types"><code>closure_types</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>Indicates whether a case is automatically closed when it is pushed to external systems (<code>close-by-pushing</code>) or not automatically closed (<code>close-by-user</code>).</div>
<div class="field-items">
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="connector_properties_cases_webhook"><code>connector_properties_cases_webhook</code> - Create or upate case request properties for Cases Webhook connector</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>Defines properties for connectors when type is <code>.cases-webhook</code>.</div>
@ -1074,6 +1494,12 @@ Any modifications made to this file will be overwritten.
<div class="param">caseId </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The case identifier for Swimlane connectors. </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="connector_types"><code>connector_types</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>The type of connector.</div>
<div class="field-items">
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="create_case_request"><code>create_case_request</code> - Create case request</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>The create case API request body varies depending on the type of connector.</div>
@ -1120,6 +1546,66 @@ Any modifications made to this file will be overwritten.
<div class="param">pushed_by (optional)</div><div class="param-desc"><span class="param-type"><a href="#alert_comment_response_properties_pushed_by">alert_comment_response_properties_pushed_by</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="getCaseConfiguration_200_response_inner"><code>getCaseConfiguration_200_response_inner</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">closure_type (optional)</div><div class="param-desc"><span class="param-type"><a href="#closure_types">closure_types</a></span> </div>
<div class="param">connector (optional)</div><div class="param-desc"><span class="param-type"><a href="#getCaseConfiguration_200_response_inner_connector">getCaseConfiguration_200_response_inner_connector</a></span> </div>
<div class="param">created_at (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> format: date-time</div>
<div class="param">created_by (optional)</div><div class="param-desc"><span class="param-type"><a href="#getCaseConfiguration_200_response_inner_created_by">getCaseConfiguration_200_response_inner_created_by</a></span> </div>
<div class="param">error (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">mappings (optional)</div><div class="param-desc"><span class="param-type"><a href="#getCaseConfiguration_200_response_inner_mappings_inner">array[getCaseConfiguration_200_response_inner_mappings_inner]</a></span> </div>
<div class="param">owner (optional)</div><div class="param-desc"><span class="param-type"><a href="#owners">owners</a></span> </div>
<div class="param">updated_at (optional)</div><div class="param-desc"><span class="param-type"><a href="#DateTime">Date</a></span> format: date-time</div>
<div class="param">updated_by (optional)</div><div class="param-desc"><span class="param-type"><a href="#getCaseConfiguration_200_response_inner_updated_by">getCaseConfiguration_200_response_inner_updated_by</a></span> </div>
<div class="param">version (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="getCaseConfiguration_200_response_inner_connector"><code>getCaseConfiguration_200_response_inner_connector</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">fields (optional)</div><div class="param-desc"><span class="param-type"><a href="#">Object</a></span> The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to <code>null</code>. </div>
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The identifier for the connector. If you do not want a default connector, use <code>none</code>. To retrieve connector IDs, use the find connectors API. </div>
<div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The name of the connector. If you do not want a default connector, use <code>none</code>. To retrieve connector names, use the find connectors API. </div>
<div class="param">type (optional)</div><div class="param-desc"><span class="param-type"><a href="#connector_types">connector_types</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="getCaseConfiguration_200_response_inner_created_by"><code>getCaseConfiguration_200_response_inner_created_by</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">email (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">full_name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">username (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="getCaseConfiguration_200_response_inner_mappings_inner"><code>getCaseConfiguration_200_response_inner_mappings_inner</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">action_type (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">source (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">target (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="getCaseConfiguration_200_response_inner_updated_by"><code>getCaseConfiguration_200_response_inner_updated_by</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">email (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">full_name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
<div class="param">username (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="getCaseConfiguration_owner_parameter"><code>getCaseConfiguration_owner_parameter</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="owners"><code>owners</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>The application that owns the cases: Stack Management, Observability, or Elastic Security.</div>
@ -1134,6 +1620,33 @@ Any modifications made to this file will be overwritten.
<div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The rule name. </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="setCaseConfiguration_request"><code>setCaseConfiguration_request</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">closure_type </div><div class="param-desc"><span class="param-type"><a href="#closure_types">closure_types</a></span> </div>
<div class="param">connector </div><div class="param-desc"><span class="param-type"><a href="#setCaseConfiguration_request_connector">setCaseConfiguration_request_connector</a></span> </div>
<div class="param">owner </div><div class="param-desc"><span class="param-type"><a href="#owners">owners</a></span> </div>
<div class="param">settings (optional)</div><div class="param-desc"><span class="param-type"><a href="#setCaseConfiguration_request_settings">setCaseConfiguration_request_settings</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="setCaseConfiguration_request_connector"><code>setCaseConfiguration_request_connector</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>An object that contains the connector configuration.</div>
<div class="field-items">
<div class="param">fields </div><div class="param-desc"><span class="param-type"><a href="#">Object</a></span> The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to <code>null</code>. </div>
<div class="param">id </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The identifier for the connector. If you do not want a default connector, use <code>none</code>. To retrieve connector IDs, use the find connectors API. </div>
<div class="param">name </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The name of the connector. If you do not want a default connector, use <code>none</code>. To retrieve connector names, use the find connectors API. </div>
<div class="param">type </div><div class="param-desc"><span class="param-type"><a href="#connector_types">connector_types</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="setCaseConfiguration_request_settings"><code>setCaseConfiguration_request_settings</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>An object that contains the case settings.</div>
<div class="field-items">
<div class="param">syncAlerts </div><div class="param-desc"><span class="param-type"><a href="#boolean">Boolean</a></span> Turns alert syncing on or off. </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="settings"><code>settings</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>An object that contains the case settings.</div>
@ -1153,6 +1666,15 @@ Any modifications made to this file will be overwritten.
<div class="field-items">
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="updateCaseConfiguration_request"><code>updateCaseConfiguration_request</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">closure_type (optional)</div><div class="param-desc"><span class="param-type"><a href="#closure_types">closure_types</a></span> </div>
<div class="param">connector (optional)</div><div class="param-desc"><span class="param-type"><a href="#setCaseConfiguration_request_connector">setCaseConfiguration_request_connector</a></span> </div>
<div class="param">version </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The version of the connector. To retrieve the version value, use the get configuration API. </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="update_alert_comment_request_properties"><code>update_alert_comment_request_properties</code> - Update case comment request properties for alerts</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>Defines properties for case comment requests when type is alert.</div>

View file

@ -7,6 +7,12 @@
Retrieves external connection details, such as the closure type and
default connector for cases.
[NOTE]
====
For the most up-to-date API details, refer to the
{kib-repo}/tree/{branch}/x-pack/plugins/cases/docs/openapi[open API specification]. For a preview, check out <<case-apis>>.
====
=== {api-request-title}
`GET <kibana host>:<port>/api/cases/configure`

View file

@ -6,6 +6,12 @@
Pushes a case to an external service.
[NOTE]
====
For the most up-to-date API details, refer to the
{kib-repo}/tree/{branch}/x-pack/plugins/cases/docs/openapi[open API specification]. For a preview, check out <<case-apis>>.
====
=== {api-request-title}
`POST <kibana host>:<port>/api/cases/<case_id>/connector/<connector_id>/_push`

View file

@ -7,6 +7,12 @@
Sets external connection details, such as the closure type and
default connector for cases.
[NOTE]
====
For the most up-to-date API details, refer to the
{kib-repo}/tree/{branch}/x-pack/plugins/cases/docs/openapi[open API specification]. For a preview, check out <<case-apis>>.
====
=== {api-request-title}
`POST <kibana host>:<port>/api/cases/configure`

View file

@ -7,6 +7,12 @@
Updates external connection details, such as the closure type and default
connector for cases.
[NOTE]
====
For the most up-to-date API details, refer to the
{kib-repo}/tree/{branch}/x-pack/plugins/cases/docs/openapi[open API specification]. For a preview, check out <<case-apis>>.
====
=== {api-request-title}
`PATCH <kibana host>:<port>/api/cases/configure/<configuration_id>`

View file

@ -176,6 +176,598 @@
}
]
},
"/s/{spaceId}/api/cases/configure": {
"get": {
"summary": "Retrieves external connection details, such as the closure type and default connector for cases.",
"operationId": "getCaseConfiguration",
"description": "You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case configuration.\n",
"tags": [
"cases"
],
"parameters": [
{
"$ref": "#/components/parameters/space_id"
},
{
"$ref": "#/components/parameters/owner"
}
],
"responses": {
"200": {
"description": "Indicates a successful call.",
"content": {
"application/json; charset=utf-8": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"closure_type": {
"$ref": "#/components/schemas/closure_types"
},
"connector": {
"type": "object",
"properties": {
"fields": {
"description": "The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.",
"nullable": true,
"type": "object"
},
"id": {
"description": "The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.",
"type": "string",
"example": "none"
},
"name": {
"description": "The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.",
"type": "string",
"example": "none"
},
"type": {
"$ref": "#/components/schemas/connector_types"
}
}
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-06-01T17:07:17.767Z"
},
"created_by": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": null,
"nullable": true
},
"full_name": {
"type": "string",
"example": null,
"nullable": true
},
"username": {
"type": "string",
"example": "elastic"
}
}
},
"error": {
"type": "string",
"nullable": true,
"example": null
},
"id": {
"type": "string",
"example": "4a97a440-e1cd-11ec-be9b-9b1838238ee6"
},
"mappings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"action_type": {
"type": "string",
"example": "overwrite"
},
"source": {
"type": "string",
"example": "title"
},
"target": {
"type": "string",
"example": "summary"
}
}
}
},
"owner": {
"$ref": "#/components/schemas/owners"
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2022-06-01T19:58:48.169Z"
},
"updated_by": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": null,
"nullable": true
},
"full_name": {
"type": "string",
"example": null,
"nullable": true
},
"username": {
"type": "string",
"example": "elastic"
}
},
"nullable": true
},
"version": {
"type": "string",
"example": "WzIwNzMsMV0="
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://localhost:5601"
}
]
},
"post": {
"summary": "Sets external connection details, such as the closure type and default connector for cases.",
"operationId": "setCaseConfiguration",
"description": "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 configuration. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Refer to the add connectors API. If you set a default connector, it is automatically selected when you create cases in Kibana. If you use the create case API, however, you must still specify all of the connector details.\n",
"tags": [
"cases"
],
"parameters": [
{
"$ref": "#/components/parameters/kbn_xsrf"
},
{
"$ref": "#/components/parameters/space_id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"closure_type": {
"$ref": "#/components/schemas/closure_types"
},
"connector": {
"description": "An object that contains the connector configuration.",
"type": "object",
"properties": {
"fields": {
"description": "The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.",
"nullable": true,
"type": "object"
},
"id": {
"description": "The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.",
"type": "string",
"example": "none"
},
"name": {
"description": "The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.",
"type": "string",
"example": "none"
},
"type": {
"$ref": "#/components/schemas/connector_types"
}
},
"required": [
"fields",
"id",
"name",
"type"
]
},
"owner": {
"$ref": "#/components/schemas/owners"
},
"settings": {
"description": "An object that contains the case settings.",
"type": "object",
"properties": {
"syncAlerts": {
"description": "Turns alert syncing on or off.",
"type": "boolean",
"example": true
}
},
"required": [
"syncAlerts"
]
}
},
"required": [
"closure_type",
"connector",
"owner"
]
},
"examples": {
"setCaseConfigRequest": {
"$ref": "#/components/examples/set_case_configuration_request"
}
}
}
}
},
"responses": {
"200": {
"description": "Indicates a successful call.",
"content": {
"application/json; charset=utf-8": {
"schema": {
"type": "object",
"properties": {
"closure_type": {
"$ref": "#/components/schemas/closure_types"
},
"connector": {
"type": "object",
"properties": {
"fields": {
"description": "The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.",
"nullable": true,
"type": "object"
},
"id": {
"description": "The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.",
"type": "string",
"example": "none"
},
"name": {
"description": "The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.",
"type": "string",
"example": "none"
},
"type": {
"$ref": "#/components/schemas/connector_types"
}
}
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-06-01T17:07:17.767Z"
},
"created_by": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": null,
"nullable": true
},
"full_name": {
"type": "string",
"example": null,
"nullable": true
},
"username": {
"type": "string",
"example": "elastic"
}
}
},
"error": {
"type": "string",
"nullable": true,
"example": null
},
"id": {
"type": "string",
"example": "4a97a440-e1cd-11ec-be9b-9b1838238ee6"
},
"mappings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"action_type": {
"type": "string",
"example": "overwrite"
},
"source": {
"type": "string",
"example": "title"
},
"target": {
"type": "string",
"example": "summary"
}
}
}
},
"owner": {
"$ref": "#/components/schemas/owners"
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2022-06-01T19:58:48.169Z"
},
"updated_by": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": null,
"nullable": true
},
"full_name": {
"type": "string",
"example": null,
"nullable": true
},
"username": {
"type": "string",
"example": "elastic"
}
},
"nullable": true
},
"version": {
"type": "string",
"example": "WzIwNzMsMV0="
}
}
},
"examples": {
"setCaseConfigResponse": {
"$ref": "#/components/examples/set_case_configuration_response"
}
}
}
}
}
},
"servers": [
{
"url": "https://localhost:5601"
}
]
},
"servers": [
{
"url": "https://localhost:5601"
}
]
},
"/s/{spaceId}/api/cases/configure/{configurationId}": {
"patch": {
"summary": "Updates external connection details, such as the closure type and default connector for cases.",
"operationId": "updateCaseConfiguration",
"description": "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 configuration. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Refer to the add connectors API.\n",
"tags": [
"cases"
],
"parameters": [
{
"$ref": "#/components/parameters/kbn_xsrf"
},
{
"$ref": "#/components/parameters/configuration_id"
},
{
"$ref": "#/components/parameters/space_id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"closure_type": {
"$ref": "#/components/schemas/closure_types"
},
"connector": {
"description": "An object that contains the connector configuration.",
"type": "object",
"properties": {
"fields": {
"description": "The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.",
"nullable": true,
"type": "object"
},
"id": {
"description": "The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.",
"type": "string",
"example": "none"
},
"name": {
"description": "The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.",
"type": "string",
"example": "none"
},
"type": {
"$ref": "#/components/schemas/connector_types"
}
},
"required": [
"fields",
"id",
"name",
"type"
]
},
"version": {
"description": "The version of the connector. To retrieve the version value, use the get configuration API.\n",
"type": "string",
"example": "WzIwMiwxXQ=="
}
},
"required": [
"version"
]
}
}
}
},
"responses": {
"200": {
"description": "Indicates a successful call.",
"content": {
"application/json; charset=utf-8": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"closure_type": {
"$ref": "#/components/schemas/closure_types"
},
"connector": {
"type": "object",
"properties": {
"fields": {
"description": "The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.",
"nullable": true,
"type": "object"
},
"id": {
"description": "The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.",
"type": "string",
"example": "none"
},
"name": {
"description": "The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.",
"type": "string",
"example": "none"
},
"type": {
"$ref": "#/components/schemas/connector_types"
}
}
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-06-01T17:07:17.767Z"
},
"created_by": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": null,
"nullable": true
},
"full_name": {
"type": "string",
"example": null,
"nullable": true
},
"username": {
"type": "string",
"example": "elastic"
}
}
},
"error": {
"type": "string",
"nullable": true,
"example": null
},
"id": {
"type": "string",
"example": "4a97a440-e1cd-11ec-be9b-9b1838238ee6"
},
"mappings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"action_type": {
"type": "string",
"example": "overwrite"
},
"source": {
"type": "string",
"example": "title"
},
"target": {
"type": "string",
"example": "summary"
}
}
}
},
"owner": {
"$ref": "#/components/schemas/owners"
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2022-06-01T19:58:48.169Z"
},
"updated_by": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": null,
"nullable": true
},
"full_name": {
"type": "string",
"example": null,
"nullable": true
},
"username": {
"type": "string",
"example": "elastic"
}
},
"nullable": true
},
"version": {
"type": "string",
"example": "WzIwNzMsMV0="
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://localhost:5601"
}
]
},
"servers": [
{
"url": "https://localhost:5601"
}
]
},
"/s/{spaceId}/api/cases/{caseId}/comments": {
"post": {
"summary": "Adds a comment or alert to a case.",
@ -357,6 +949,67 @@
"url": "https://localhost:5601"
}
]
},
"/s/{spaceId}/api/cases/{caseId}/connector/{connectorId}/_push": {
"post": {
"summary": "Pushes a case to an external service.",
"description": "You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. You must also 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 pushing.\n",
"operationId": "pushCase",
"tags": [
"cases"
],
"parameters": [
{
"$ref": "#/components/parameters/case_id"
},
{
"$ref": "#/components/parameters/connector_id"
},
{
"$ref": "#/components/parameters/kbn_xsrf"
},
{
"$ref": "#/components/parameters/space_id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true
}
}
}
},
"responses": {
"200": {
"description": "Indicates a successful call.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/case_response_properties"
},
"examples": {
"pushCaseResponse": {
"$ref": "#/components/examples/push_case_response"
}
}
}
}
}
},
"servers": [
{
"url": "https://localhost:5601"
}
]
},
"servers": [
{
"url": "https://localhost:5601"
}
]
}
},
"components": {
@ -390,6 +1043,35 @@
"example": "default"
}
},
"owner": {
"in": "query",
"name": "owner",
"description": "A filter to limit the response to a specific set of applications. If this parameter is omitted, the response contains information about all the cases that the user has access to read.\n",
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/owners"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/owners"
}
}
]
},
"example": "cases"
},
"configuration_id": {
"in": "path",
"name": "configurationId",
"description": "An identifier for the configuration.",
"required": true,
"schema": {
"type": "string",
"example": "3297a0f0-b5ec-11ec-b141-0fdb20a7f9a9"
}
},
"case_id": {
"in": "path",
"name": "caseId",
@ -399,6 +1081,16 @@
"type": "string",
"example": "9c235210-6834-11ea-a78c-6ffb38a34414"
}
},
"connector_id": {
"in": "path",
"name": "connectorId",
"description": "An identifier for the connector. To retrieve connector IDs, use the find connectors API.",
"required": true,
"schema": {
"type": "string",
"example": "abed3a70-71bd-11ea-a0b2-c51ea50a58e2"
}
}
},
"schemas": {
@ -1533,6 +2225,29 @@
}
}
},
"closure_types": {
"type": "string",
"description": "Indicates whether a case is automatically closed when it is pushed to external systems (`close-by-pushing`) or not automatically closed (`close-by-user`).",
"enum": [
"close-by-pushing",
"close-by-user"
],
"example": "close-by-user"
},
"connector_types": {
"type": "string",
"description": "The type of connector.",
"enum": [
".cases-webhook",
".jira",
".none",
".resilient",
".servicenow",
".servicenow-sir",
".swimlane"
],
"example": ".none"
},
"alert_identifiers": {
"title": "Alert identifiers",
"description": "The alert identifier. It is required only when `type` is `alert`. If it is an array, `index` must also be an array with the same length or number of elements. This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n",
@ -1922,6 +2637,60 @@
}
]
},
"set_case_configuration_request": {
"summary": "Set the closure type and default connector for Stack Management cases.",
"value": {
"owner": "cases",
"connector": {
"id": "5e656730-e1ca-11ec-be9b-9b1838238ee6",
"name": "my-jira-connector",
"type": ".jira",
"fields": null
},
"closure_type": "close-by-user"
}
},
"set_case_configuration_response": {
"summary": "This is an example response when the case configuration was updated.",
"value": {
"closure_type": "close-by-user",
"owner": "cases",
"created_at": "2022-06-01T17:07:17.767Z",
"created_by": {
"username": "elastic",
"email": "null,",
"full_name": null
},
"updated_at": null,
"updated_by": null,
"connector": {
"id": "5e656730-e1ca-11ec-be9b-9b1838238ee6",
"name": "my-jira-connector",
"type": ".jira",
"fields": null
},
"mappings": [
{
"source": "title",
"target": "summary",
"action_type": "overwrite"
},
{
"source": "description",
"target": "description",
"action_type": "overwrite"
},
{
"source": "comments",
"target": "comments",
"action_type": "append"
}
],
"version": "WzIwNzMsMV0=",
"error": null,
"id": "4a97a440-e1cd-11ec-be9b-9b1838238ee6"
}
},
"add_comment_request": {
"summary": "Adds a comment to a case.",
"value": {
@ -2061,6 +2830,65 @@
},
"external_service": null
}
},
"push_case_response": {
"summary": "The push case API returns a JSON object with details about the case and the external service.",
"value": {
"id": "b917f300-0ed9-11ed-bd18-65557fe66949",
"version": "WzE3NjgsM10=",
"comments": [],
"totalComment": 0,
"totalAlerts": 0,
"description": "A case description.",
"title": "Case title 1",
"tags": [
"tag 1"
],
"settings": {
"syncAlerts": true
},
"owner": "cases",
"duration": null,
"severity": "low",
"closed_at": null,
"closed_by": null,
"created_at": "2022-07-29T00:59:39.444Z",
"created_by": {
"username": "elastic",
"email": null,
"full_name": null
},
"status": "open",
"updated_at": "2022-07-29T01:20:58.436Z",
"updated_by": {
"username": "elastic",
"full_name": null,
"email": null
},
"connector": {
"id": "09f8c0b0-0eda-11ed-bd18-65557fe66949",
"name": "My connector",
"type": ".jira",
"fields": {
"issueType": "10006",
"parent": null,
"priority": "Low"
}
},
"external_service": {
"pushed_at": "2022-07-29T01:20:58.436Z",
"pushed_by": {
"username": "elastic",
"full_name": null,
"email": null
},
"connector_name": "My connector",
"external_id": "71926",
"external_title": "ES-554",
"external_url": "https://cases.jira.com",
"connector_id": "09f8c0b0-0eda-11ed-bd18-65557fe66949"
}
}
}
}
},

View file

@ -103,6 +103,417 @@ paths:
- url: https://localhost:5601
servers:
- url: https://localhost:5601
/s/{spaceId}/api/cases/configure:
get:
summary: Retrieves external connection details, such as the closure type and default connector for cases.
operationId: getCaseConfiguration
description: |
You must have `read` privileges for the **Cases** feature in the **Management**, **Observability**, or **Security** section of the Kibana feature privileges, depending on the owner of the case configuration.
tags:
- cases
parameters:
- $ref: '#/components/parameters/space_id'
- $ref: '#/components/parameters/owner'
responses:
'200':
description: Indicates a successful call.
content:
application/json; charset=utf-8:
schema:
type: array
items:
type: object
properties:
closure_type:
$ref: '#/components/schemas/closure_types'
connector:
type: object
properties:
fields:
description: The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.
nullable: true
type: object
id:
description: The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.
type: string
example: none
name:
description: The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.
type: string
example: none
type:
$ref: '#/components/schemas/connector_types'
created_at:
type: string
format: date-time
example: '2022-06-01T17:07:17.767Z'
created_by:
type: object
properties:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
error:
type: string
nullable: true
example: null
id:
type: string
example: 4a97a440-e1cd-11ec-be9b-9b1838238ee6
mappings:
type: array
items:
type: object
properties:
action_type:
type: string
example: overwrite
source:
type: string
example: title
target:
type: string
example: summary
owner:
$ref: '#/components/schemas/owners'
updated_at:
type: string
format: date-time
nullable: true
example: '2022-06-01T19:58:48.169Z'
updated_by:
type: object
properties:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
nullable: true
version:
type: string
example: WzIwNzMsMV0=
servers:
- url: https://localhost:5601
post:
summary: Sets external connection details, such as the closure type and default connector for cases.
operationId: setCaseConfiguration
description: |
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 configuration. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Refer to the add connectors API. If you set a default connector, it is automatically selected when you create cases in Kibana. If you use the create case API, however, you must still specify all of the connector details.
tags:
- cases
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/space_id'
requestBody:
content:
application/json:
schema:
type: object
properties:
closure_type:
$ref: '#/components/schemas/closure_types'
connector:
description: An object that contains the connector configuration.
type: object
properties:
fields:
description: The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.
nullable: true
type: object
id:
description: The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.
type: string
example: none
name:
description: The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.
type: string
example: none
type:
$ref: '#/components/schemas/connector_types'
required:
- fields
- id
- name
- type
owner:
$ref: '#/components/schemas/owners'
settings:
description: An object that contains the case settings.
type: object
properties:
syncAlerts:
description: Turns alert syncing on or off.
type: boolean
example: true
required:
- syncAlerts
required:
- closure_type
- connector
- owner
examples:
setCaseConfigRequest:
$ref: '#/components/examples/set_case_configuration_request'
responses:
'200':
description: Indicates a successful call.
content:
application/json; charset=utf-8:
schema:
type: object
properties:
closure_type:
$ref: '#/components/schemas/closure_types'
connector:
type: object
properties:
fields:
description: The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.
nullable: true
type: object
id:
description: The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.
type: string
example: none
name:
description: The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.
type: string
example: none
type:
$ref: '#/components/schemas/connector_types'
created_at:
type: string
format: date-time
example: '2022-06-01T17:07:17.767Z'
created_by:
type: object
properties:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
error:
type: string
nullable: true
example: null
id:
type: string
example: 4a97a440-e1cd-11ec-be9b-9b1838238ee6
mappings:
type: array
items:
type: object
properties:
action_type:
type: string
example: overwrite
source:
type: string
example: title
target:
type: string
example: summary
owner:
$ref: '#/components/schemas/owners'
updated_at:
type: string
format: date-time
nullable: true
example: '2022-06-01T19:58:48.169Z'
updated_by:
type: object
properties:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
nullable: true
version:
type: string
example: WzIwNzMsMV0=
examples:
setCaseConfigResponse:
$ref: '#/components/examples/set_case_configuration_response'
servers:
- url: https://localhost:5601
servers:
- url: https://localhost:5601
/s/{spaceId}/api/cases/configure/{configurationId}:
patch:
summary: Updates external connection details, such as the closure type and default connector for cases.
operationId: updateCaseConfiguration
description: |
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 configuration. Connectors are used to interface with external systems. You must create a connector before you can use it in your cases. Refer to the add connectors API.
tags:
- cases
parameters:
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/configuration_id'
- $ref: '#/components/parameters/space_id'
requestBody:
content:
application/json:
schema:
type: object
properties:
closure_type:
$ref: '#/components/schemas/closure_types'
connector:
description: An object that contains the connector configuration.
type: object
properties:
fields:
description: The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.
nullable: true
type: object
id:
description: The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.
type: string
example: none
name:
description: The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.
type: string
example: none
type:
$ref: '#/components/schemas/connector_types'
required:
- fields
- id
- name
- type
version:
description: |
The version of the connector. To retrieve the version value, use the get configuration API.
type: string
example: WzIwMiwxXQ==
required:
- version
responses:
'200':
description: Indicates a successful call.
content:
application/json; charset=utf-8:
schema:
type: array
items:
type: object
properties:
closure_type:
$ref: '#/components/schemas/closure_types'
connector:
type: object
properties:
fields:
description: The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.
nullable: true
type: object
id:
description: The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.
type: string
example: none
name:
description: The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.
type: string
example: none
type:
$ref: '#/components/schemas/connector_types'
created_at:
type: string
format: date-time
example: '2022-06-01T17:07:17.767Z'
created_by:
type: object
properties:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
error:
type: string
nullable: true
example: null
id:
type: string
example: 4a97a440-e1cd-11ec-be9b-9b1838238ee6
mappings:
type: array
items:
type: object
properties:
action_type:
type: string
example: overwrite
source:
type: string
example: title
target:
type: string
example: summary
owner:
$ref: '#/components/schemas/owners'
updated_at:
type: string
format: date-time
nullable: true
example: '2022-06-01T19:58:48.169Z'
updated_by:
type: object
properties:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
nullable: true
version:
type: string
example: WzIwNzMsMV0=
servers:
- url: https://localhost:5601
servers:
- url: https://localhost:5601
/s/{spaceId}/api/cases/{caseId}/comments:
post:
summary: Adds a comment or alert to a case.
@ -206,6 +617,39 @@ paths:
- url: https://localhost:5601
servers:
- url: https://localhost:5601
/s/{spaceId}/api/cases/{caseId}/connector/{connectorId}/_push:
post:
summary: Pushes a case to an external service.
description: |
You must have `all` privileges for the **Actions and Connectors** feature in the **Management** section of the Kibana feature privileges. You must also 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 pushing.
operationId: pushCase
tags:
- cases
parameters:
- $ref: '#/components/parameters/case_id'
- $ref: '#/components/parameters/connector_id'
- $ref: '#/components/parameters/kbn_xsrf'
- $ref: '#/components/parameters/space_id'
requestBody:
content:
application/json:
schema:
type: object
nullable: true
responses:
'200':
description: Indicates a successful call.
content:
application/json:
schema:
$ref: '#/components/schemas/case_response_properties'
examples:
pushCaseResponse:
$ref: '#/components/examples/push_case_response'
servers:
- url: https://localhost:5601
servers:
- url: https://localhost:5601
components:
securitySchemes:
basicAuth:
@ -230,6 +674,26 @@ components:
schema:
type: string
example: default
owner:
in: query
name: owner
description: |
A filter to limit the response to a specific set of applications. If this parameter is omitted, the response contains information about all the cases that the user has access to read.
schema:
oneOf:
- $ref: '#/components/schemas/owners'
- type: array
items:
$ref: '#/components/schemas/owners'
example: cases
configuration_id:
in: path
name: configurationId
description: An identifier for the configuration.
required: true
schema:
type: string
example: 3297a0f0-b5ec-11ec-b141-0fdb20a7f9a9
case_id:
in: path
name: caseId
@ -238,6 +702,14 @@ components:
schema:
type: string
example: 9c235210-6834-11ea-a78c-6ffb38a34414
connector_id:
in: path
name: connectorId
description: An identifier for the connector. To retrieve connector IDs, use the find connectors API.
required: true
schema:
type: string
example: abed3a70-71bd-11ea-a0b2-c51ea50a58e2
schemas:
connector_properties_none:
title: Create or update case request properties for no connector
@ -1063,6 +1535,25 @@ components:
version:
description: The current version of the case. To determine this value, use the get case or find cases APIs.
type: string
closure_types:
type: string
description: Indicates whether a case is automatically closed when it is pushed to external systems (`close-by-pushing`) or not automatically closed (`close-by-user`).
enum:
- close-by-pushing
- close-by-user
example: close-by-user
connector_types:
type: string
description: The type of connector.
enum:
- .cases-webhook
- .jira
- .none
- .resilient
- .servicenow
- .servicenow-sir
- .swimlane
example: .none
alert_identifiers:
title: Alert identifiers
description: |
@ -1356,6 +1847,46 @@ components:
connector_id: 05da469f-1fde-4058-99a3-91e4807e2de8
external_id: '10003'
connector_name: Jira
set_case_configuration_request:
summary: Set the closure type and default connector for Stack Management cases.
value:
owner: cases
connector:
id: 5e656730-e1ca-11ec-be9b-9b1838238ee6
name: my-jira-connector
type: .jira
fields: null
closure_type: close-by-user
set_case_configuration_response:
summary: This is an example response when the case configuration was updated.
value:
closure_type: close-by-user
owner: cases
created_at: '2022-06-01T17:07:17.767Z'
created_by:
username: elastic
email: null,
full_name: null
updated_at: null
updated_by: null
connector:
id: 5e656730-e1ca-11ec-be9b-9b1838238ee6
name: my-jira-connector
type: .jira
fields: null
mappings:
- source: title
target: summary
action_type: overwrite
- source: description
target: description
action_type: overwrite
- source: comments
target: comments
action_type: append
version: WzIwNzMsMV0=
error: null
id: 4a97a440-e1cd-11ec-be9b-9b1838238ee6
add_comment_request:
summary: Adds a comment to a case.
value:
@ -1469,6 +2000,55 @@ components:
type: .none
fields: null
external_service: null
push_case_response:
summary: The push case API returns a JSON object with details about the case and the external service.
value:
id: b917f300-0ed9-11ed-bd18-65557fe66949
version: WzE3NjgsM10=
comments: []
totalComment: 0
totalAlerts: 0
description: A case description.
title: Case title 1
tags:
- tag 1
settings:
syncAlerts: true
owner: cases
duration: null
severity: low
closed_at: null
closed_by: null
created_at: '2022-07-29T00:59:39.444Z'
created_by:
username: elastic
email: null
full_name: null
status: open
updated_at: '2022-07-29T01:20:58.436Z'
updated_by:
username: elastic
full_name: null
email: null
connector:
id: 09f8c0b0-0eda-11ed-bd18-65557fe66949
name: My connector
type: .jira
fields:
issueType: '10006'
parent: null
priority: Low
external_service:
pushed_at: '2022-07-29T01:20:58.436Z'
pushed_by:
username: elastic
full_name: null
email: null
connector_name: My connector
external_id: '71926'
external_title: ES-554
external_url: https://cases.jira.com
connector_id: 09f8c0b0-0eda-11ed-bd18-65557fe66949
security:
- basicAuth: []
- apiKeyAuth: []

View file

@ -0,0 +1,9 @@
summary: Set the closure type and default connector for Stack Management cases.
value:
owner: cases
connector:
id: 5e656730-e1ca-11ec-be9b-9b1838238ee6
name: my-jira-connector
type: .jira
fields: null
closure_type: close-by-user

View file

@ -0,0 +1,29 @@
summary: This is an example response when the case configuration was updated.
value:
closure_type: close-by-user
owner: cases
created_at: 2022-06-01T17:07:17.767Z
created_by:
username: elastic
email: null,
full_name: null
updated_at: null
updated_by: null
connector:
id: 5e656730-e1ca-11ec-be9b-9b1838238ee6
name: my-jira-connector
type: .jira
fields: null
mappings:
- source: title
target: summary
action_type: overwrite
- source: description
target: description
action_type: overwrite
- source: comments
target: comments
action_type: append
version: WzIwNzMsMV0=
error: null
id: 4a97a440-e1cd-11ec-be9b-9b1838238ee6

View file

@ -0,0 +1,14 @@
fields:
description: The fields specified in the case configuration are not used and are not propagated to individual cases, therefore it is recommended to set it to `null`.
nullable: true
type: object
id:
description: The identifier for the connector. If you do not want a default connector, use `none`. To retrieve connector IDs, use the find connectors API.
type: string
example: none
name:
description: The name of the connector. If you do not want a default connector, use `none`. To retrieve connector names, use the find connectors API.
type: string
example: none
type:
$ref: 'connector_types.yaml'

View file

@ -3,7 +3,7 @@ closure_type:
connector:
type: object
properties:
$ref: 'connector_properties.yaml'
$ref: 'case_configure_connector_properties.yaml'
created_at:
type: string
format: date-time
@ -14,14 +14,17 @@ created_by:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic
error:
type: string
nullable: true
example: null
id:
type: string
@ -31,15 +34,15 @@ mappings:
items:
type: object
properties:
action_type:
type: string
example: overwrite
source:
type: string
example: title
target:
type: string
example: summary
action_type:
type: string
example: overwrite
source:
type: string
example: title
target:
type: string
example: summary
owner:
$ref: 'owners.yaml'
updated_at:
@ -53,9 +56,11 @@ updated_by:
email:
type: string
example: null
nullable: true
full_name:
type: string
example: null
nullable: true
username:
type: string
example: elastic

View file

@ -21,10 +21,10 @@ paths:
# $ref: 'paths/s@{spaceid}@api@cases@_find.yaml'
# '/s/{spaceId}/api/cases/alerts/{alertId}':
# $ref: 'paths/s@{spaceid}@api@cases@alerts@{alertid}.yaml'
# '/s/{spaceId}/api/cases/configure':
# $ref: paths/s@{spaceid}@api@cases@configure.yaml
# '/s/{spaceId}/api/cases/configure/{configurationId}':
# $ref: paths/s@{spaceid}@api@cases@configure@{configurationid}.yaml
'/s/{spaceId}/api/cases/configure':
$ref: paths/s@{spaceid}@api@cases@configure.yaml
'/s/{spaceId}/api/cases/configure/{configurationId}':
$ref: paths/s@{spaceid}@api@cases@configure@{configurationid}.yaml
# '/s/{spaceId}/api/cases/configure/connectors/_find':
# $ref: paths/s@{spaceid}@api@cases@configure@connectors@_find.yaml
# '/s/{spaceId}/api/cases/reporters':
@ -41,8 +41,8 @@ paths:
$ref: 'paths/s@{spaceid}@api@cases@{caseid}@comments.yaml'
# '/s/{spaceId}/api/cases/{caseId}/comments/{commentId}':
# $ref: 'paths/s@{spaceid}@api@cases@{caseid}@comments@{commentid}.yaml'
# '/s/{spaceId}/api/cases/{caseId}/connector/{connectorId}/_push':
# $ref: 'paths/s@{spaceid}@api@cases@{caseid}@connector@{connectorid}@_push.yaml'
'/s/{spaceId}/api/cases/{caseId}/connector/{connectorId}/_push':
$ref: 'paths/s@{spaceid}@api@cases@{caseid}@connector@{connectorid}@_push.yaml'
# '/s/{spaceId}/api/cases/{caseId}/user_actions':
# $ref: 'paths/s@{spaceid}@api@cases@{caseid}@user_actions.yaml'
components:

View file

@ -53,7 +53,7 @@ post:
description: An object that contains the connector configuration.
type: object
properties:
$ref: '../components/schemas/connector_properties.yaml'
$ref: '../components/schemas/case_configure_connector_properties.yaml'
required:
- fields
- id
@ -75,17 +75,21 @@ post:
- closure_type
- connector
- owner
examples:
setCaseConfigRequest:
$ref: '../components/examples/set_case_configuration_request.yaml'
responses:
'200':
description: Indicates a successful call.
content:
application/json; charset=utf-8:
schema:
type: array
items:
type: object
properties:
$ref: '../components/schemas/case_configure_response_properties.yaml'
type: object
properties:
$ref: '../components/schemas/case_configure_response_properties.yaml'
examples:
setCaseConfigResponse:
$ref: '../components/examples/set_case_configuration_response.yaml'
servers:
- url: https://localhost:5601

View file

@ -25,7 +25,7 @@ patch:
description: An object that contains the connector configuration.
type: object
properties:
$ref: '../components/schemas/connector_properties.yaml'
$ref: '../components/schemas/case_configure_connector_properties.yaml'
required:
- fields
- id

View file

@ -16,7 +16,10 @@ post:
- $ref: '../components/parameters/space_id.yaml'
requestBody:
content:
application/json: {}
application/json:
schema:
type: object
nullable: true
responses:
'200':
description: Indicates a successful call.