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

# Create Queue API

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

Creates one or more Quality Management (QM) queues and assigns agents to the queue.

| **Method** | POST |
| - | - |
| **Endpoint** | `https://{{host}}/qualityai/api/v1/public/{{streamId}}/qm/queues` |
| **Content-Type** | `application/json` |
| **Authorization** | `auth: {{JWT_TOKEN}}` See [How to generate the JWT Token](/ai-for-service/apis/automation/api-introduction#generating-the-jwt-token). |
| **API Scope** | SmartAssist Analytics |

## Path Parameters

| Parameter | Description | Type |
| - | - | - |
| `host` | Environment URL. For example, `https://platform.kore.ai` | String, required |
| `streamId` | Unique identifier of the stream. | String, required |

## Header Parameters

| Parameter | Description | Type |
| - | - | - |
| `auth` | Authentication token used to authorize the request. | String, required |
| `accountId` | Unique account identifier. | String, required |
| `iid` | Unique Stream identifier. | String, required |

## Sample Request

```bash expandable=true theme={null}
curl --location --request POST 'https://{{host}}/qualityai/api/v1/public/{{streamId}}/qm/queues' \
--header 'auth: {{JWT_TOKEN}}' \
--header 'Content-Type: application/json' \
--header 'iId: {{streamId}}' \
--header 'accountId: {{accountId}}' \
--data-raw '{
"queues": [
{
"customQueueId": "Check_Bank-1",
"queueName": "Check Bank SIT-1",
"conversationSource": "AgentAIIO",
"agentEmails": ["john.doe@example.com", "john.smith@example.com"]
},
{
"customQueueId": "EXPRESS_Check-1",
"queueName": "Express check SIT-1",
"conversationSource": "CCAI"
}
]
}'
```

## Request Body Parameters

| Parameter | Description | Type |
| - | - | - |
| `customQueueId` | Customer queue identifier. Unique among active queues on the bot. Max 128 characters are allowed. | String, required |
| `queueName` | Unique queue name per bot and conversation source.  Maximum 256 characters are allowed. | String, required |
| `conversationSource` | Source from which conversations are collected. `AgentAI` or `QMExpressAI` | String, required |
| `agentEmails` | Email addresses of agents assigned to the queue. Maximum: 6000 characters are allowed. | Array, optional |

## Sample Response

```json expandable=true theme={null}
{
  "jobId": "qjb-6705a3**********-8465-b8f62677a188",
  "status": "queued",
  "type": "CREATE_QUEUES",
  "action": "create",
  "mode": "append",
  "total": 2,
  "accepted": 0,
  "rejected": 2,
  "statusUrl": "/api/v1/public/st-606d6d99-**********db8-cfe5e9afa33f/qm/queues/jobs/qjb-6705a32a-7eed-55fc-************",
  "rejectedItems": [
    {
      "index": 0,
      "customQueueId": "Check_Bank-1",
      "error": {
        "code": "INVALID_CONVERSATION_SOURCE",
        "message": "conversationSource must be one of AgentAI, QMExpressAI"
      }
    },
    {
      "index": 1,
      "customQueueId": "EXPRESS_Check-1",
      "error": {
        "code": "INVALID_CONVERSATION_SOURCE",
        "message": "conversationSource must be one of AgentAI, QMExpressAI"
      }
    }
  ]
}
```

## Response Body Parameters

| Parameter | Type | Description |
| - | - | - |
| `jobId` | String | Unique identifier of the queue creation job. |
| `status` | String | Current status of the job. |
| `type` | String | Type of operation being performed. |
| `action` | String | Action requested for the job. |
| `mode` | String | Processing mode used for the request. |
| `total` | Integer | Total number of queue records submitted in the request. |
| `accepted` | Integer | Number of queue records accepted for processing. |
| `rejected` | Integer | Number of queue records rejected during validation. |
| `statusUrl` | String | API endpoint used to retrieve the job status. |
| `rejectedItems` | Array | List of queue records rejected during validation. |
| `rejectedItems.index` | Integer | Zero-based index of the rejected queue record in the request payload. |
| `rejectedItems.customQueueId` | String | Custom identifier of the rejected queue. |
| `rejectedItems.error` | Object | Error details associated with the rejected queue record. |
| `rejectedItems.error.code` | String | Error code that identifies the validation failure. |
| `rejectedItems.error.message` | String | Description of the validation error. |
