diff --git a/packages/kbn-securitysolution-lists-common/api/create_list/create_list.schema.yaml b/packages/kbn-securitysolution-lists-common/api/create_list/create_list.schema.yaml index bae6565b0f1e0..191e973beba61 100644 --- a/packages/kbn-securitysolution-lists-common/api/create_list/create_list.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/create_list/create_list.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: CreateList x-codegen-enabled: true - summary: Creates a list + summary: Create a list + description: Create a new list. requestBody: description: List's properties required: true diff --git a/packages/kbn-securitysolution-lists-common/api/create_list_index/create_list_index.schema.yaml b/packages/kbn-securitysolution-lists-common/api/create_list_index/create_list_index.schema.yaml index dcb1baa3ee3d8..c775a9c7d873f 100644 --- a/packages/kbn-securitysolution-lists-common/api/create_list_index/create_list_index.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/create_list_index/create_list_index.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: CreateListIndex x-codegen-enabled: true - summary: Creates necessary list data streams + summary: Create list data streams + description: Create `.lists` and `.items` data streams in the relevant space. responses: 200: description: Successful response diff --git a/packages/kbn-securitysolution-lists-common/api/create_list_item/create_list_item.schema.yaml b/packages/kbn-securitysolution-lists-common/api/create_list_item/create_list_item.schema.yaml index 10fef88e7a042..01121d0143925 100644 --- a/packages/kbn-securitysolution-lists-common/api/create_list_item/create_list_item.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/create_list_item/create_list_item.schema.yaml @@ -8,7 +8,13 @@ paths: x-labels: [serverless, ess] operationId: CreateListItem x-codegen-enabled: true - summary: Creates a list item + summary: Create a list item + description: | + Create a list item and associate it with the specified list. + + All list items in the same list must be the same type. For example, each list item in an `ip` list must define a specific IP address. + > info + > Before creating a list item, you must create a list. requestBody: description: List item's properties required: true diff --git a/packages/kbn-securitysolution-lists-common/api/delete_list/delete_list.schema.yaml b/packages/kbn-securitysolution-lists-common/api/delete_list/delete_list.schema.yaml index 4a5974003918e..7098753636379 100644 --- a/packages/kbn-securitysolution-lists-common/api/delete_list/delete_list.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/delete_list/delete_list.schema.yaml @@ -8,7 +8,11 @@ paths: x-labels: [serverless, ess] operationId: DeleteList x-codegen-enabled: true - summary: Deletes a list + summary: Delete a list + description: | + Delete a list using the list ID. + > info + > When you delete a list, all of its list items are also deleted. parameters: - name: id in: query diff --git a/packages/kbn-securitysolution-lists-common/api/delete_list_index/delete_list_index.schema.yaml b/packages/kbn-securitysolution-lists-common/api/delete_list_index/delete_list_index.schema.yaml index 34dcf91f548d0..4f4b0f00e8817 100644 --- a/packages/kbn-securitysolution-lists-common/api/delete_list_index/delete_list_index.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/delete_list_index/delete_list_index.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: DeleteListIndex x-codegen-enabled: true - summary: Deletes list data streams + summary: Delete list data streams + description: Delete the `.lists` and `.items` data streams. responses: 200: description: Successful response diff --git a/packages/kbn-securitysolution-lists-common/api/delete_list_item/delete_list_item.schema.yaml b/packages/kbn-securitysolution-lists-common/api/delete_list_item/delete_list_item.schema.yaml index 413c85b55dd3b..28913259387dd 100644 --- a/packages/kbn-securitysolution-lists-common/api/delete_list_item/delete_list_item.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/delete_list_item/delete_list_item.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: DeleteListItem x-codegen-enabled: true - summary: Deletes a list item + summary: Delete a list item + description: Delete a list item using its `id`, or its `list_id` and `value` fields. parameters: - name: id in: query diff --git a/packages/kbn-securitysolution-lists-common/api/export_list_items/export_list_items.schema.yaml b/packages/kbn-securitysolution-lists-common/api/export_list_items/export_list_items.schema.yaml index 06eda41d042fb..8d185a23b64c9 100644 --- a/packages/kbn-securitysolution-lists-common/api/export_list_items/export_list_items.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/export_list_items/export_list_items.schema.yaml @@ -8,8 +8,8 @@ paths: x-labels: [serverless, ess] operationId: ExportListItems x-codegen-enabled: true - summary: Exports list items - description: Exports list item values from the specified list + summary: Export list items + description: Export list item values from the specified list. parameters: - name: list_id in: query diff --git a/packages/kbn-securitysolution-lists-common/api/find_list_items/find_list_items.schema.yaml b/packages/kbn-securitysolution-lists-common/api/find_list_items/find_list_items.schema.yaml index b08e7b4719374..21cf4ffd61841 100644 --- a/packages/kbn-securitysolution-lists-common/api/find_list_items/find_list_items.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/find_list_items/find_list_items.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: FindListItems x-codegen-enabled: true - summary: Finds list items + summary: Get list items + description: Get all list items in the specified list. parameters: - name: list_id in: query diff --git a/packages/kbn-securitysolution-lists-common/api/find_lists/find_lists.schema.yaml b/packages/kbn-securitysolution-lists-common/api/find_lists/find_lists.schema.yaml index 071dba08254ec..3bb55decacff6 100644 --- a/packages/kbn-securitysolution-lists-common/api/find_lists/find_lists.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/find_lists/find_lists.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: FindLists x-codegen-enabled: true - summary: Finds lists + summary: Get lists + description: Get a paginated subset of lists. By default, the first page is returned, with 20 results per page. parameters: - name: page in: query diff --git a/packages/kbn-securitysolution-lists-common/api/import_list_items/import_list_items.schema.yaml b/packages/kbn-securitysolution-lists-common/api/import_list_items/import_list_items.schema.yaml index 895e222c05207..520213e949c1d 100644 --- a/packages/kbn-securitysolution-lists-common/api/import_list_items/import_list_items.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/import_list_items/import_list_items.schema.yaml @@ -8,9 +8,9 @@ paths: x-labels: [serverless, ess] operationId: ImportListItems x-codegen-enabled: true - summary: Imports list items + summary: Import list items description: | - Imports a list of items from a `.txt` or `.csv` file. The maximum file size is 9 million bytes. + Import list items from a TXT or CSV file. The maximum file size is 9 million bytes. You can import items to a new or existing list. requestBody: diff --git a/packages/kbn-securitysolution-lists-common/api/patch_list/patch_list.schema.yaml b/packages/kbn-securitysolution-lists-common/api/patch_list/patch_list.schema.yaml index 1ca568acb2bbc..b98b34e6347eb 100644 --- a/packages/kbn-securitysolution-lists-common/api/patch_list/patch_list.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/patch_list/patch_list.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: PatchList x-codegen-enabled: true - summary: Patches a list + summary: Patch a list + description: Update specific fields of an existing list using the list ID. requestBody: description: List's properties required: true diff --git a/packages/kbn-securitysolution-lists-common/api/patch_list_item/patch_list_item.schema.yaml b/packages/kbn-securitysolution-lists-common/api/patch_list_item/patch_list_item.schema.yaml index a17982db14452..f79efc4691dde 100644 --- a/packages/kbn-securitysolution-lists-common/api/patch_list_item/patch_list_item.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/patch_list_item/patch_list_item.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: PatchListItem x-codegen-enabled: true - summary: Patches a list item + summary: Patch a list item + description: Update specific fields of an existing list item using the list item ID. requestBody: description: List item's properties required: true diff --git a/packages/kbn-securitysolution-lists-common/api/quickstart_client.gen.ts b/packages/kbn-securitysolution-lists-common/api/quickstart_client.gen.ts index a6e314cd5d717..7bf343d935f2c 100644 --- a/packages/kbn-securitysolution-lists-common/api/quickstart_client.gen.ts +++ b/packages/kbn-securitysolution-lists-common/api/quickstart_client.gen.ts @@ -77,6 +77,9 @@ export class Client { this.kbnClient = options.kbnClient; this.log = options.log; } + /** + * Create a new list. + */ async createList(props: CreateListProps) { this.log.info(`${new Date().toISOString()} Calling API CreateList`); return this.kbnClient @@ -90,6 +93,9 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Create `.lists` and `.items` data streams in the relevant space. + */ async createListIndex() { this.log.info(`${new Date().toISOString()} Calling API CreateListIndex`); return this.kbnClient @@ -102,6 +108,14 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Create a list item and associate it with the specified list. + +All list items in the same list must be the same type. For example, each list item in an `ip` list must define a specific IP address. +> info +> Before creating a list item, you must create a list. + + */ async createListItem(props: CreateListItemProps) { this.log.info(`${new Date().toISOString()} Calling API CreateListItem`); return this.kbnClient @@ -115,6 +129,12 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Delete a list using the list ID. +> info +> When you delete a list, all of its list items are also deleted. + + */ async deleteList(props: DeleteListProps) { this.log.info(`${new Date().toISOString()} Calling API DeleteList`); return this.kbnClient @@ -129,6 +149,9 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Delete the `.lists` and `.items` data streams. + */ async deleteListIndex() { this.log.info(`${new Date().toISOString()} Calling API DeleteListIndex`); return this.kbnClient @@ -141,6 +164,9 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Delete a list item using its `id`, or its `list_id` and `value` fields. + */ async deleteListItem(props: DeleteListItemProps) { this.log.info(`${new Date().toISOString()} Calling API DeleteListItem`); return this.kbnClient @@ -156,7 +182,7 @@ export class Client { .catch(catchAxiosErrorFormatAndThrow); } /** - * Exports list item values from the specified list + * Export list item values from the specified list. */ async exportListItems(props: ExportListItemsProps) { this.log.info(`${new Date().toISOString()} Calling API ExportListItems`); @@ -172,6 +198,9 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Get all list items in the specified list. + */ async findListItems(props: FindListItemsProps) { this.log.info(`${new Date().toISOString()} Calling API FindListItems`); return this.kbnClient @@ -186,6 +215,9 @@ export class Client { }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Get a paginated subset of lists. By default, the first page is returned, with 20 results per page. + */ async findLists(props: FindListsProps) { this.log.info(`${new Date().toISOString()} Calling API FindLists`); return this.kbnClient @@ -201,7 +233,7 @@ export class Client { .catch(catchAxiosErrorFormatAndThrow); } /** - * Imports a list of items from a `.txt` or `.csv` file. The maximum file size is 9 million bytes. + * Import list items from a TXT or CSV file. The maximum file size is 9 million bytes. You can import items to a new or existing list. @@ -220,6 +252,9 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Update specific fields of an existing list using the list ID. + */ async patchList(props: PatchListProps) { this.log.info(`${new Date().toISOString()} Calling API PatchList`); return this.kbnClient @@ -233,6 +268,9 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Update specific fields of an existing list item using the list item ID. + */ async patchListItem(props: PatchListItemProps) { this.log.info(`${new Date().toISOString()} Calling API PatchListItem`); return this.kbnClient @@ -246,6 +284,9 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Get the details of a list using the list ID. + */ async readList(props: ReadListProps) { this.log.info(`${new Date().toISOString()} Calling API ReadList`); return this.kbnClient @@ -260,6 +301,9 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Verify that `.lists` and `.items` data streams exist. + */ async readListIndex() { this.log.info(`${new Date().toISOString()} Calling API ReadListIndex`); return this.kbnClient @@ -272,6 +316,9 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Get the details of a list item. + */ async readListItem(props: ReadListItemProps) { this.log.info(`${new Date().toISOString()} Calling API ReadListItem`); return this.kbnClient @@ -298,6 +345,12 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Update a list using the list ID. The original list is replaced, and all unspecified fields are deleted. +> info +> You cannot modify the `id` value. + + */ async updateList(props: UpdateListProps) { this.log.info(`${new Date().toISOString()} Calling API UpdateList`); return this.kbnClient @@ -311,6 +364,12 @@ You can import items to a new or existing list. }) .catch(catchAxiosErrorFormatAndThrow); } + /** + * Update a list item using the list item ID. The original list item is replaced, and all unspecified fields are deleted. +> info +> You cannot modify the `id` value. + + */ async updateListItem(props: UpdateListItemProps) { this.log.info(`${new Date().toISOString()} Calling API UpdateListItem`); return this.kbnClient diff --git a/packages/kbn-securitysolution-lists-common/api/read_list/read_list.schema.yaml b/packages/kbn-securitysolution-lists-common/api/read_list/read_list.schema.yaml index 770c6fa8a9e7d..d932e16f528a5 100644 --- a/packages/kbn-securitysolution-lists-common/api/read_list/read_list.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/read_list/read_list.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: ReadList x-codegen-enabled: true - summary: Retrieves a list using its id field + summary: Get list details + description: Get the details of a list using the list ID. parameters: - name: id in: query diff --git a/packages/kbn-securitysolution-lists-common/api/read_list_index/read_list_index.schema.yaml b/packages/kbn-securitysolution-lists-common/api/read_list_index/read_list_index.schema.yaml index 3706563c008ce..b675264600157 100644 --- a/packages/kbn-securitysolution-lists-common/api/read_list_index/read_list_index.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/read_list_index/read_list_index.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: ReadListIndex x-codegen-enabled: true - summary: Get list data stream existence status + summary: Get status of list data streams + description: Verify that `.lists` and `.items` data streams exist. responses: 200: description: Successful response diff --git a/packages/kbn-securitysolution-lists-common/api/read_list_item/read_list_item.schema.yaml b/packages/kbn-securitysolution-lists-common/api/read_list_item/read_list_item.schema.yaml index fe4a6046f012c..4d686f5452e0c 100644 --- a/packages/kbn-securitysolution-lists-common/api/read_list_item/read_list_item.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/read_list_item/read_list_item.schema.yaml @@ -8,7 +8,8 @@ paths: x-labels: [serverless, ess] operationId: ReadListItem x-codegen-enabled: true - summary: Gets a list item + summary: Get a list item + description: Get the details of a list item. parameters: - name: id in: query diff --git a/packages/kbn-securitysolution-lists-common/api/read_list_privileges/read_list_privileges.schema.yaml b/packages/kbn-securitysolution-lists-common/api/read_list_privileges/read_list_privileges.schema.yaml index fd22321c9ed29..ec8604e80694e 100644 --- a/packages/kbn-securitysolution-lists-common/api/read_list_privileges/read_list_privileges.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/read_list_privileges/read_list_privileges.schema.yaml @@ -8,7 +8,7 @@ paths: x-labels: [serverless, ess] operationId: ReadListPrivileges x-codegen-enabled: true - summary: Gets list privileges + summary: Get list privileges responses: 200: description: Successful response diff --git a/packages/kbn-securitysolution-lists-common/api/update_list/update_list.schema.yaml b/packages/kbn-securitysolution-lists-common/api/update_list/update_list.schema.yaml index b31bea393c91b..c41b52427b63d 100644 --- a/packages/kbn-securitysolution-lists-common/api/update_list/update_list.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/update_list/update_list.schema.yaml @@ -8,7 +8,11 @@ paths: x-labels: [serverless, ess] operationId: UpdateList x-codegen-enabled: true - summary: Updates a list + summary: Update a list + description: | + Update a list using the list ID. The original list is replaced, and all unspecified fields are deleted. + > info + > You cannot modify the `id` value. requestBody: description: List's properties required: true diff --git a/packages/kbn-securitysolution-lists-common/api/update_list_item/update_list_item.schema.yaml b/packages/kbn-securitysolution-lists-common/api/update_list_item/update_list_item.schema.yaml index 95a4df349ff93..6b05e01f35aab 100644 --- a/packages/kbn-securitysolution-lists-common/api/update_list_item/update_list_item.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/api/update_list_item/update_list_item.schema.yaml @@ -8,7 +8,11 @@ paths: x-labels: [serverless, ess] operationId: UpdateListItem x-codegen-enabled: true - summary: Updates a list item + summary: Update a list item + description: | + Update a list item using the list item ID. The original list item is replaced, and all unspecified fields are deleted. + > info + > You cannot modify the `id` value. requestBody: description: List item's properties required: true diff --git a/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml b/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml index 7fdb215489101..2db10e5afbcec 100644 --- a/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/docs/openapi/ess/security_solution_lists_api_2023_10_31.bundled.schema.yaml @@ -13,6 +13,10 @@ servers: paths: /api/lists: delete: + description: | + Delete a list using the list ID. + > info + > When you delete a list, all of its list items are also deleted. operationId: DeleteList parameters: - description: List's `id` value @@ -72,10 +76,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Deletes a list + summary: Delete a list tags: - Security Solution Lists API get: + description: Get the details of a list using the list ID. operationId: ReadList parameters: - description: List's `id` value @@ -123,10 +128,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Retrieves a list using its id field + summary: Get list details tags: - Security Solution Lists API patch: + description: Update specific fields of an existing list using the list ID. operationId: PatchList requestBody: content: @@ -190,10 +196,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Patches a list + summary: Patch a list tags: - Security Solution Lists API post: + description: Create a new list. operationId: CreateList requestBody: content: @@ -264,10 +271,17 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Creates a list + summary: Create a list tags: - Security Solution Lists API put: + description: > + Update a list using the list ID. The original list is replaced, and all + unspecified fields are deleted. + + > info + + > You cannot modify the `id` value. operationId: UpdateList requestBody: content: @@ -333,11 +347,14 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Updates a list + summary: Update a list tags: - Security Solution Lists API /api/lists/_find: get: + description: >- + Get a paginated subset of lists. By default, the first page is returned, + with 20 results per page. operationId: FindLists parameters: - description: The page number to return @@ -446,11 +463,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Finds lists + summary: Get lists tags: - Security Solution Lists API /api/lists/index: delete: + description: Delete the `.lists` and `.items` data streams. operationId: DeleteListIndex responses: '200': @@ -496,10 +514,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Deletes list data streams + summary: Delete list data streams tags: - Security Solution Lists API get: + description: Verify that `.lists` and `.items` data streams exist. operationId: ReadListIndex responses: '200': @@ -548,10 +567,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Get list data stream existence status + summary: Get status of list data streams tags: - Security Solution Lists API post: + description: Create `.lists` and `.items` data streams in the relevant space. operationId: CreateListIndex responses: '200': @@ -597,11 +617,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Creates necessary list data streams + summary: Create list data streams tags: - Security Solution Lists API /api/lists/items: delete: + description: 'Delete a list item using its `id`, or its `list_id` and `value` fields.' operationId: DeleteListItem parameters: - description: Required if `list_id` and `value` are not specified @@ -678,10 +699,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Deletes a list item + summary: Delete a list item tags: - Security Solution Lists API get: + description: Get the details of a list item. operationId: ReadListItem parameters: - description: Required if `list_id` and `value` are not specified @@ -745,10 +767,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Gets a list item + summary: Get a list item tags: - Security Solution Lists API patch: + description: Update specific fields of an existing list item using the list item ID. operationId: PatchListItem requestBody: content: @@ -816,10 +839,20 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Patches a list item + summary: Patch a list item tags: - Security Solution Lists API post: + description: > + Create a list item and associate it with the specified list. + + + All list items in the same list must be the same type. For example, each + list item in an `ip` list must define a specific IP address. + + > info + + > Before creating a list item, you must create a list. operationId: CreateListItem requestBody: content: @@ -888,10 +921,17 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Creates a list item + summary: Create a list item tags: - Security Solution Lists API put: + description: > + Update a list item using the list item ID. The original list item is + replaced, and all unspecified fields are deleted. + + > info + + > You cannot modify the `id` value. operationId: UpdateListItem requestBody: content: @@ -951,12 +991,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Updates a list item + summary: Update a list item tags: - Security Solution Lists API /api/lists/items/_export: post: - description: Exports list item values from the specified list + description: Export list item values from the specified list. operationId: ExportListItems parameters: - description: List's id to export @@ -1006,11 +1046,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Exports list items + summary: Export list items tags: - Security Solution Lists API /api/lists/items/_find: get: + description: Get all list items in the specified list. operationId: FindListItems parameters: - description: List's id @@ -1125,14 +1166,14 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Finds list items + summary: Get list items tags: - Security Solution Lists API /api/lists/items/_import: post: description: > - Imports a list of items from a `.txt` or `.csv` file. The maximum file - size is 9 million bytes. + Import list items from a TXT or CSV file. The maximum file size is 9 + million bytes. You can import items to a new or existing list. @@ -1232,7 +1273,7 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Imports list items + summary: Import list items tags: - Security Solution Lists API /api/lists/privileges: @@ -1282,7 +1323,7 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Gets list privileges + summary: Get list privileges tags: - Security Solution Lists API components: diff --git a/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml b/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml index c55ffe963a607..4f91b5112bfd0 100644 --- a/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml +++ b/packages/kbn-securitysolution-lists-common/docs/openapi/serverless/security_solution_lists_api_2023_10_31.bundled.schema.yaml @@ -13,6 +13,10 @@ servers: paths: /api/lists: delete: + description: | + Delete a list using the list ID. + > info + > When you delete a list, all of its list items are also deleted. operationId: DeleteList parameters: - description: List's `id` value @@ -72,10 +76,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Deletes a list + summary: Delete a list tags: - Security Solution Lists API get: + description: Get the details of a list using the list ID. operationId: ReadList parameters: - description: List's `id` value @@ -123,10 +128,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Retrieves a list using its id field + summary: Get list details tags: - Security Solution Lists API patch: + description: Update specific fields of an existing list using the list ID. operationId: PatchList requestBody: content: @@ -190,10 +196,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Patches a list + summary: Patch a list tags: - Security Solution Lists API post: + description: Create a new list. operationId: CreateList requestBody: content: @@ -264,10 +271,17 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Creates a list + summary: Create a list tags: - Security Solution Lists API put: + description: > + Update a list using the list ID. The original list is replaced, and all + unspecified fields are deleted. + + > info + + > You cannot modify the `id` value. operationId: UpdateList requestBody: content: @@ -333,11 +347,14 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Updates a list + summary: Update a list tags: - Security Solution Lists API /api/lists/_find: get: + description: >- + Get a paginated subset of lists. By default, the first page is returned, + with 20 results per page. operationId: FindLists parameters: - description: The page number to return @@ -446,11 +463,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Finds lists + summary: Get lists tags: - Security Solution Lists API /api/lists/index: delete: + description: Delete the `.lists` and `.items` data streams. operationId: DeleteListIndex responses: '200': @@ -496,10 +514,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Deletes list data streams + summary: Delete list data streams tags: - Security Solution Lists API get: + description: Verify that `.lists` and `.items` data streams exist. operationId: ReadListIndex responses: '200': @@ -548,10 +567,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Get list data stream existence status + summary: Get status of list data streams tags: - Security Solution Lists API post: + description: Create `.lists` and `.items` data streams in the relevant space. operationId: CreateListIndex responses: '200': @@ -597,11 +617,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Creates necessary list data streams + summary: Create list data streams tags: - Security Solution Lists API /api/lists/items: delete: + description: 'Delete a list item using its `id`, or its `list_id` and `value` fields.' operationId: DeleteListItem parameters: - description: Required if `list_id` and `value` are not specified @@ -678,10 +699,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Deletes a list item + summary: Delete a list item tags: - Security Solution Lists API get: + description: Get the details of a list item. operationId: ReadListItem parameters: - description: Required if `list_id` and `value` are not specified @@ -745,10 +767,11 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Gets a list item + summary: Get a list item tags: - Security Solution Lists API patch: + description: Update specific fields of an existing list item using the list item ID. operationId: PatchListItem requestBody: content: @@ -816,10 +839,20 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Patches a list item + summary: Patch a list item tags: - Security Solution Lists API post: + description: > + Create a list item and associate it with the specified list. + + + All list items in the same list must be the same type. For example, each + list item in an `ip` list must define a specific IP address. + + > info + + > Before creating a list item, you must create a list. operationId: CreateListItem requestBody: content: @@ -888,10 +921,17 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Creates a list item + summary: Create a list item tags: - Security Solution Lists API put: + description: > + Update a list item using the list item ID. The original list item is + replaced, and all unspecified fields are deleted. + + > info + + > You cannot modify the `id` value. operationId: UpdateListItem requestBody: content: @@ -951,12 +991,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Updates a list item + summary: Update a list item tags: - Security Solution Lists API /api/lists/items/_export: post: - description: Exports list item values from the specified list + description: Export list item values from the specified list. operationId: ExportListItems parameters: - description: List's id to export @@ -1006,11 +1046,12 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Exports list items + summary: Export list items tags: - Security Solution Lists API /api/lists/items/_find: get: + description: Get all list items in the specified list. operationId: FindListItems parameters: - description: List's id @@ -1125,14 +1166,14 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Finds list items + summary: Get list items tags: - Security Solution Lists API /api/lists/items/_import: post: description: > - Imports a list of items from a `.txt` or `.csv` file. The maximum file - size is 9 million bytes. + Import list items from a TXT or CSV file. The maximum file size is 9 + million bytes. You can import items to a new or existing list. @@ -1232,7 +1273,7 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Imports list items + summary: Import list items tags: - Security Solution Lists API /api/lists/privileges: @@ -1282,7 +1323,7 @@ paths: schema: $ref: '#/components/schemas/SiemErrorResponse' description: Internal server error response - summary: Gets list privileges + summary: Get list privileges tags: - Security Solution Lists API components: diff --git a/x-pack/test/api_integration/services/security_solution_lists_api.gen.ts b/x-pack/test/api_integration/services/security_solution_lists_api.gen.ts index 4ebd688bf296a..6ae8c4d1d4903 100644 --- a/x-pack/test/api_integration/services/security_solution_lists_api.gen.ts +++ b/x-pack/test/api_integration/services/security_solution_lists_api.gen.ts @@ -39,6 +39,9 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) const supertest = getService('supertest'); return { + /** + * Create a new list. + */ createList(props: CreateListProps) { return supertest .post('/api/lists') @@ -47,6 +50,9 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + /** + * Create `.lists` and `.items` data streams in the relevant space. + */ createListIndex() { return supertest .post('/api/lists/index') @@ -54,6 +60,14 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); }, + /** + * Create a list item and associate it with the specified list. + +All list items in the same list must be the same type. For example, each list item in an `ip` list must define a specific IP address. +> info +> Before creating a list item, you must create a list. + + */ createListItem(props: CreateListItemProps) { return supertest .post('/api/lists/items') @@ -62,6 +76,12 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + /** + * Delete a list using the list ID. +> info +> When you delete a list, all of its list items are also deleted. + + */ deleteList(props: DeleteListProps) { return supertest .delete('/api/lists') @@ -70,6 +90,9 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + /** + * Delete the `.lists` and `.items` data streams. + */ deleteListIndex() { return supertest .delete('/api/lists/index') @@ -77,6 +100,9 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); }, + /** + * Delete a list item using its `id`, or its `list_id` and `value` fields. + */ deleteListItem(props: DeleteListItemProps) { return supertest .delete('/api/lists/items') @@ -86,7 +112,7 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .query(props.query); }, /** - * Exports list item values from the specified list + * Export list item values from the specified list. */ exportListItems(props: ExportListItemsProps) { return supertest @@ -96,6 +122,9 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + /** + * Get all list items in the specified list. + */ findListItems(props: FindListItemsProps) { return supertest .get('/api/lists/items/_find') @@ -104,6 +133,9 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + /** + * Get a paginated subset of lists. By default, the first page is returned, with 20 results per page. + */ findLists(props: FindListsProps) { return supertest .get('/api/lists/_find') @@ -113,7 +145,7 @@ export function SecuritySolutionApiProvider({ getService }: FtrProviderContext) .query(props.query); }, /** - * Imports a list of items from a `.txt` or `.csv` file. The maximum file size is 9 million bytes. + * Import list items from a TXT or CSV file. The maximum file size is 9 million bytes. You can import items to a new or existing list. @@ -126,6 +158,9 @@ You can import items to a new or existing list. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + /** + * Update specific fields of an existing list using the list ID. + */ patchList(props: PatchListProps) { return supertest .patch('/api/lists') @@ -134,6 +169,9 @@ You can import items to a new or existing list. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + /** + * Update specific fields of an existing list item using the list item ID. + */ patchListItem(props: PatchListItemProps) { return supertest .patch('/api/lists/items') @@ -142,6 +180,9 @@ You can import items to a new or existing list. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + /** + * Get the details of a list using the list ID. + */ readList(props: ReadListProps) { return supertest .get('/api/lists') @@ -150,6 +191,9 @@ You can import items to a new or existing list. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + /** + * Verify that `.lists` and `.items` data streams exist. + */ readListIndex() { return supertest .get('/api/lists/index') @@ -157,6 +201,9 @@ You can import items to a new or existing list. .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); }, + /** + * Get the details of a list item. + */ readListItem(props: ReadListItemProps) { return supertest .get('/api/lists/items') @@ -172,6 +219,12 @@ You can import items to a new or existing list. .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); }, + /** + * Update a list using the list ID. The original list is replaced, and all unspecified fields are deleted. +> info +> You cannot modify the `id` value. + + */ updateList(props: UpdateListProps) { return supertest .put('/api/lists') @@ -180,6 +233,12 @@ You can import items to a new or existing list. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + /** + * Update a list item using the list item ID. The original list item is replaced, and all unspecified fields are deleted. +> info +> You cannot modify the `id` value. + + */ updateListItem(props: UpdateListItemProps) { return supertest .put('/api/lists/items')