> For a complete documentation index, fetch https://docs.voximplant.ai/llms.txt

# SQ_GetQueues

POST https://api.voximplant.com/platform_api/SQ_GetQueues

Gets the queue(s).

**Example request:** Get all the queues.

Reference: https://docs.voximplant.ai/api-reference/management-api/reference/smartqueue/sq-get-queues

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: management-api
  version: 1.0.0
paths:
  /SQ_GetQueues:
    post:
      operationId: sq-get-queues
      summary: SQ_GetQueues
      description: |-
        Gets the queue(s).

        **Example request:** Get all the queues.
      tags:
        - subpackage_smartqueue
      parameters:
        - name: application_id
          in: query
          description: Application ID to search by
          required: true
          schema:
            type: integer
        - name: application_name
          in: query
          description: >-
            Application name to search by. Can be used instead of
            **application_id**
          required: false
          schema:
            type: string
        - name: sq_queue_id
          in: query
          description: List of SmartQueue IDs separated by semicolons (;)
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: sq_queue_name
          in: query
          description: >-
            List of SmartQueue names separated by semicolons (;). Can be used
            instead of **sq_queue_id**
          required: false
          schema:
            type: array
            items:
              type: string
        - name: sq_queue_name_template
          in: query
          description: Substring of the SmartQueue name to filter
          required: false
          schema:
            type: string
        - name: user_id
          in: query
          description: ID of the user that is bound to the queue
          required: false
          schema:
            type: integer
        - name: user_name
          in: query
          description: >-
            Name of the user that is bound to the queue. Can be used instead of
            **user_id**
          required: false
          schema:
            type: string
        - name: excluded_user_id
          in: query
          description: ID of the user that is not bound to the queue
          required: false
          schema:
            type: integer
        - name: excluded_user_name
          in: query
          description: >-
            Name of the user that is not bound to the queue. Can be used instead
            of **excluded_user_id**
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Number of items to show in the output
          required: false
          schema:
            type: integer
            default: 20
        - name: offset
          in: query
          description: Number of items to skip in the output
          required: false
          schema:
            type: integer
            default: 0
        - name: with_agentcount
          in: query
          description: Whether to include the number of agents bound to the queue
          required: false
          schema:
            type: boolean
            default: false
        - name: Authorization
          in: header
          description: >-
            Voximplant Management API uses signed JWT tokens generated from your
            service-account private key. Pass the token in the `Authorization`
            header as a Bearer value:


            ```

            Authorization: Bearer $VOXIMPLANT_TOKEN

            ```


            See [Authorization](/api-reference/management-api/authorization) for
            ready-to-copy snippets in bash, Python, Node.js and Go that turn
            your `credentials.json` into a token.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/smartqueue_SQ_GetQueues_Response_200'
servers:
  - url: https://api.voximplant.com/platform_api
components:
  schemas:
    GetSqQueuesResultCall:
      type: object
      properties:
        task_selection:
          type: string
        agent_selection:
          type: string
        max_waiting_time:
          type: integer
        max_queue_size:
          type: integer
        max_waiting_time_in_seconds:
          type: integer
      title: GetSqQueuesResultCall
    GetSqQueuesResultIm:
      type: object
      properties:
        task_selection:
          type: string
        agent_selection:
          type: string
        max_waiting_time:
          type: integer
        max_queue_size:
          type: integer
        max_waiting_time_in_seconds:
          type: integer
      title: GetSqQueuesResultIm
    GetSQQueuesResult:
      type: object
      properties:
        sq_queue_id:
          type: integer
          description: ID of the SmartQueue
        sq_queue_name:
          type: string
          description: Name of the SmartQueue
        hold_im_if_inactive_agents:
          type: boolean
          description: Whether the tasks are queued when there are no active agents
        agent_selection:
          type: string
          description: Agent selection strategy
        task_selection:
          type: string
          description: Strategy of prioritizing requests for service
        hold_calls_if_inactive_agents:
          type: boolean
          description: >-
            Whether the call task is kept in the queue if all agents are
            unavailable
        description:
          type: string
          description: Comment
        created:
          type: string
          description: |-
            Timestamp in YYYY-MM-DD HH:mm:ss format.

            UTC date of the queue creation in 24-h format: YYYY-MM-DD HH:mm:ss
        modified:
          type: string
          description: >-
            Timestamp in YYYY-MM-DD HH:mm:ss format.


            UTC date of the queue modification in 24-h format: YYYY-MM-DD
            HH:mm:ss
        call_max_waiting_time:
          type: integer
          default: 120
          description: >-
            Maximum time in minutes that a CALL-type request can remain in the
            queue without being assigned to an agent in minutes. If the value
            has been passed in seconds, this field is also present in the
            answer, rounded to the bigger number
        call_max_waiting_time_in_seconds:
          type: integer
          description: >-
            Maximum time in minutes that a CALL-type request can remain in the
            queue without being assigned to an agent in seconds. If the value
            has been passed in minutes, this field is also present in the answer
        im_max_waiting_time:
          type: integer
          default: 120
          description: >-
            Maximum time in minutes that an IM-type request can remain in the
            queue without being assigned to an agent in minutes. If the value
            has been passed in seconds, this field is also present in the
            answer, rounded to the bigger number
        im_max_waiting_time_in_seconds:
          type: integer
          description: >-
            Maximum time in minutes that an IM-type request can remain in the
            queue without being assigned to an agent in seconds. If the value
            has been passed in minutes, this field is also present in the answer
        call_max_queue_size:
          type: integer
          default: 1000
          description: Maximum size of the queue with CALL-type requests
        im_max_queue_size:
          type: integer
          default: 1000
          description: Maximum size of the queue with IM-type requests
        agentcount:
          type: integer
          description: Number of agents bound to the queue
        CALL:
          $ref: '#/components/schemas/GetSqQueuesResultCall'
        IM:
          $ref: '#/components/schemas/GetSqQueuesResultIm'
        call_agent_selection:
          type: string
        priority:
          type: integer
        im_task_selection:
          type: string
        im_agent_selection:
          type: string
        call_task_selection:
          type: string
      description: The [SQ_GetQueues] function result.
      title: GetSQQueuesResult
    smartqueue_SQ_GetQueues_Response_200:
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/GetSQQueuesResult'
          description: The found queue(s)
        total_count:
          type: integer
        count:
          type: integer
      title: smartqueue_SQ_GetQueues_Response_200
  securitySchemes:
    JwtAuth:
      type: http
      scheme: bearer
      description: >-
        Voximplant Management API uses signed JWT tokens generated from your
        service-account private key. Pass the token in the `Authorization`
        header as a Bearer value:


        ```

        Authorization: Bearer $VOXIMPLANT_TOKEN

        ```


        See [Authorization](/api-reference/management-api/authorization) for
        ready-to-copy snippets in bash, Python, Node.js and Go that turn your
        `credentials.json` into a token.

```

## SDK Code Examples

```python Example 1
import requests

url = "https://api.voximplant.com/platform_api/SQ_GetQueues"

querystring = {"application_id":"1"}

headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Example 1
const url = 'https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1';
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Example 1
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Example 1
require 'uri'
require 'net/http'

url = URI("https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Example 1
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Example 1
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Example 1
using RestSharp;

var client = new RestClient("https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Example 1
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.voximplant.com/platform_api/SQ_GetQueues?application_id=1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```