---
title: "Upsert current queue"
method: PATCH
path: "/v2/api/dialing-queues/current"
tags: ["Power Dialer"]
---

# Upsert current queue

`PATCH /v2/api/dialing-queues/current`

Creates or updates the config of the queue assigned to the authenticated user. Send `user_id` or `email` to act on a teammate's queue instead — `user_id` wins when both are provided.

## Request body

- UpsertDialingQueueRequest — Creates or updates the queue config. All fields are optional — only the fields you supply are touched. Pass `user_id` or `email` to act on a teammate's queue instead.
  - `name` string, nullable — New queue name (1–255 characters)
  - `voicemail_handling` 'SKIP' | 'NO_SKIP', nullable — How the Power Dialer reacts when the call hits voicemail.
  - `do_not_disturb` 'ENABLED' | 'DISABLED', nullable — Silence inbound calls while running the queue.
  - `user_id` string, nullable — Optional. ID of a teammate whose queue config should be updated. The teammate must belong to the same team as the API key owner. Wins over `email` when both are provided.
  - `email` string, email, nullable — Optional. Email of a teammate whose queue config should be updated. Ignored when `user_id` is also supplied.

## Response `200`

Updated queue

- object
  - `data` DialingQueue — A user's Power Dialer queue with its configuration and numbers.
    - `id` string — Unique queue identifier (KSUID with `pdl` prefix)
    - `name` string, nullable — Display name of the queue
    - `creator_id` string — User ID of the queue creator — the user (or API key owner) that created the queue.
    - `assignee_id` string, nullable — User ID of the user expected to run the queue. `GET /current` returns the queue where this matches the authenticated user (or the user resolved from `user_id` / `email`). Defaults to the creator when none was specified at creation time.
    - `voicemail_handling` 'SKIP' | 'NO_SKIP' — How the Power Dialer reacts when the call lands in voicemail. `SKIP` advances to the next number; `NO_SKIP` keeps the user on the call.
    - `do_not_disturb` 'ENABLED' | 'DISABLED' — When `ENABLED`, incoming calls are silenced while the queue is being run.
    - `numbers` QueueNumber[]
      - `number_to` string — E.164 destination phone number
      - `position` integer — Order within the queue (0-based)
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `call_start_date` string, date-time, nullable — When the user started calling this entry. `null` if the entry is still unassigned.
      - `call_id` string, nullable — ID of the call placed for this entry (`cll-*`). `null` until a call is placed.
      - `routing_result` 'FAILED' | 'RECEIVED' | 'BLOCKED' | 'ANSWERED' | 'TRANSFERRED_BLAND' | 'TRANSFERRED_ELEVEN_LABS' | 'TRANSFERRED_EXTERNAL' | 'FAILED_EXTERNAL' | 'VOICEMAIL' | 'CLOSED', nullable — Final routing outcome of the call placed for this entry.
      - `sync_status` 'NOT_SYNCED' | 'PROCESSING' | 'SYNCED' — State of contact creation/sync for this entry.
      - `detected_outbound_voicemail` boolean, nullable — Whether the call was detected as having reached a voicemail box.
      - `not_reached_destination_reason` 'BUSY' | 'CALLEE_TEMPORARILY_UNAVAILABLE' | 'RING_TIMEOUT' | 'NOT_IN_SERVICE' | 'DECLINED' | 'NETWORK_ERROR', nullable — Why the call did not reach the contact (only set when applicable).
      - `voicemail_left` boolean, nullable — Whether the user left a voicemail on this entry.
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `404` — Assignee not found
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/withallo/apis/allo-api.md) · [All operations](https://skmtc.net/withallo/apis/allo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/withallo/allo-api/versions/9aab4db82933/schema)
