> ## Documentation Index
> Fetch the complete documentation index at: https://koreai.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Task Execution-Based Containment Report API

<Badge icon="arrow-left" color="gray">[Back to API List](/ai-for-service/apis/automation/api-list)</Badge>

This task-wise Containment Report offers a comparative analysis of the impact of task executions on overall containment. It breaks down task-wise successes and failures by containment type, including Drop-off, Self-service, and Agent Hand-off, providing a detailed overview for better understanding and decision-making.

| Field               | Value                                                                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Method**          | POST and GET                                                                                                                    |
| **Endpoint (POST)** | `https://{{host}}/api/public/bot/{{botID}}/taskContainmentReport?skip={{skipValue}}&limit={{limitValue}}`                       |
| **Endpoint (GET)**  | `https://{{host}}/api/public/bot/{{botID}}/taskContainmentReport/status/{{_id}}`                                                |
| **Content Type**    | `application/json`                                                                                                              |
| **Authorization**   | `auth: {{JWT}}` See [How to generate the JWT Token](/ai-for-service/apis/automation/api-introduction#generating-the-jwt-token). |
| **API Scope**       | App Builder: Metrics; Admin Console: Not Applicable                                                                             |

It's a combination of POST and GET methods. The POST method is used to set the filters and the GET method is used to fetch data as per the set filters.

## Path Parameters

| Parameter | Required             | Description                                                                                                                          |
| --------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `host`    | Required             | Environment URL. For example, `https://platform.kore.ai`                                                                             |
| `BotID`   | Required             | Bot ID or Stream ID can be accessed from the **General Settings** page in the application.                                           |
| `_id`     | Required (GET only)  | The API Response ID returned by the POST method in the response object. Use it in the GET method to get data as per the set filters. |
| `skip`    | Optional (POST only) | The number of messages to be skipped.                                                                                                |
| `limit`   | Optional (POST only) | The number of messages to be shown on each page.                                                                                     |

## Sample Request for the POST Method

```bash theme={null}
curl --location 'https://{{host}}/api/public/bot/{{botId}}/taskContainmentReport?skip={{skipValue}}&limit={{limitValue}}' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
    "filters": {
        "dateFrom": "2024-04-22",
        "dateTo": "2024-04-30T00:00:00.000Z",
        "ConversationStatus": "Active",
        "ConversationType": "Interactive",
        "AggregationType": "Daily"
    }
}'
```

## Request Body Parameters

| Parameter            | Required | Description                                                                                                                                                                               |
| -------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dateFrom`           | Optional | The start time selected for the report generation. If not provided, the system considers 7 days prior to the `dateTo` value. Formats accepted: `yyyy-mm-dd` or `yyyy-mm-ddThh:mm:ss.msZ`. |
| `dateTo`             | Optional | The end time selected for the report generation. If not provided, the system considers 7 days after the `dateFrom` value. Maximum allowed time range is 90 days.                          |
| `includeTaskName`    | Optional | An array of strings representing task names for which the execution report is generated.                                                                                                  |
| `ConversationType`   | Optional | Conversation type filter: `Interactive` or `Non-Interactive`.                                                                                                                             |
| `ConversationStatus` | Optional | Current conversation status: `Active` or `Closed`.                                                                                                                                        |
| `AggregationType`    | Optional | Report aggregation type: `Daily` (max 30 days) or `Cumulative`.                                                                                                                           |
| `tags`               | Optional | Emitted custom tags represented as an array of objects to filter the task execution data.                                                                                                 |

## Sample Response for the POST Method

```json theme={null}
{
   "status": "IN_PROGRESS",
   "percentageComplete": 0,
   "streamId": "st-9xxxxxx9-0xx9-5xxd-8xxa-7xxxxxxxxx56",
   "jobType": "TASK_EXECUTION_CONTAINMENT_REPORT",
   "action": "QUERY",
   "countOfDockStatuses": 1,
   "createdBy": "u-exxxxxx6-6xx1-5xx5-axx4-5xxxxxxxxxd2",
   "expireAt": "2024-03-08T12:30:46.247Z",
   "statusLogs": [],
   "_id": "ds-9xxxxxxd-0xx4-5xx8-axx8-axxxxxxxd083",
   "lMod": "2024-03-08T12:15:46.000Z",
   "createdOn": "2024-03-08T12:15:46.253Z",
   "requestedTime": "2024-03-08T12:15:46.253Z",
   "__v": 0
}
```

## Response Body Parameters (POST)

| Parameter             | Description                                                                |
| --------------------- | -------------------------------------------------------------------------- |
| `status`              | Status of the task execution.                                              |
| `percentageComplete`  | The percentage of task execution completed.                                |
| `streamId`            | Can be accessed from the General Settings page of the application.         |
| `jobType`             | Task Execution Containment Report.                                         |
| `action`              | Query action for task execution.                                           |
| `countOfDockStatuses` | The number of dock statuses generated for the task execution-based report. |
| `createdBy`           | The user ID of the end user who created the task execution-based report.   |
| `expireAt`            | Task execution expiry timestamp.                                           |
| `statusLogs`          | An array of status logs for the task execution.                            |
| `_id`                 | The API Response ID.                                                       |
| `lMod`                | The last modified time for the task execution-based report.                |
| `createdOn`           | The task execution-based report creation date.                             |
| `requestedTime`       | The time of request for the task execution-based report.                   |

## Sample Request for the GET Method

```bash theme={null}
curl --location 'https://{{host}}/api/public/bot/{{botID}}/taskContainmentReport/status/{{_id}}' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}'
```

## Sample Response for the GET Method

```json theme={null}
{
   "tasksExecutionReport": {
   "total": 8,
   "data": {
   "2024-03-07": [
       {
         "totalExecution": 1,
         "totalSession": 1,
         "selfServiceSessions": 1,
         "dropOffSessions": 0,
         "agentTransferSessions": 0,
         "dateRange": "2024-03-07",
         "taskType": "dialog",
         "taskName": "Tags 1",
         "Status": "success",
         "selfServiceSessionsInPercentage": 100,
         "dropOffSessionsInPercentage": 0,
         "agentTransferSessionsInPercentage": 0
      }
    ]
  }
  },
  "status": "SUCCESS"
}
```

## Response Body Parameters (GET)

| Parameter                           | Description                                                                                                      |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `totalExecution`                    | The overall count of the successful or failed tasks executed for a conversation session.                         |
| `totalSession`                      | Total number of conversation sessions during which the specified task is executed.                               |
| `selfServiceSessions`               | Total number of conversation sessions marked as Self-service during which the specified task is executed.        |
| `dropOffSessions`                   | Total number of conversation sessions marked as Drop-off during which the specified task is executed.            |
| `agentTransferSessions`             | The total number of conversation sessions marked as Agent Transfer during which the specified task is executed.  |
| `dateRange`                         | The date range based on the selected `dateFrom` and `dateTo` values.                                             |
| `taskType`                          | The type of task executed: Dialog, Alert task, or FAQ.                                                           |
| `taskName`                          | Name of the task executed, including Dialog Tasks, Alert Tasks, and FAQs.                                        |
| `Status`                            | Tasks that are successfully executed are marked as `success`. Unsuccessful tasks are marked as `failtask`.       |
| `selfServiceSessionsInPercentage`   | The percentage of sessions classified as Self-Service out of the total sessions for a task status.               |
| `dropOffSessionsInPercentage`       | The percentage of sessions classified as drop-off out of the total sessions for a task status.                   |
| `agentTransferSessionsInPercentage` | The percentage of sessions classified as Agent Hand-off or transfer out of the total sessions for a task status. |
