---
title: "Reassign queue"
method: PATCH
path: "/v2/api/dialing-queues/{queue_id}/assignee"
tags: ["Power Dialer"]
---

# Reassign queue

`PATCH /v2/api/dialing-queues/{queue_id}/assignee`

## Request

- Base URL: `https://api.withallo.com`
- URL: `https://api.withallo.com/v2/api/dialing-queues/{queue_id}/assignee`
- Auth: API key in header `Authorization`

Reassigns a dialing queue to another member of the team. The queue keeps its numbers and its creator. Only API keys of a team admin or manager can call this endpoint, and the API key owner must be the queue's creator or current assignee.

## Path parameters

- `queue_id` string, required

## Request body

- AssignDialingQueueRequest: The team member the queue should be assigned to. Provide `user_id` or `email`; `user_id` wins when both are provided.
  - `user_id` string: Id of the new assignee. Resolve teammate ids via `GET /v2/api/users`.
  - `email` string, email: Email of the new assignee. Used only when `user_id` is absent.

## Response `200`

Reassigned 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.
      - `call_status` 'QUEUED' | 'SKIPPED' | 'VOICEMAIL' | 'CONNECTED' | 'TRANSFERRED' | 'NO_ANSWER' | 'BUSY' | 'WRONG_NUMBER', nullable: Status of this entry, derived from the call placed for it. `QUEUED`: no call yet, or the call is still in progress. `SKIPPED`: skipped in the Power Dialer with no call placed (if a call is placed for it later, the status follows that call). `VOICEMAIL`: the call reached a voicemail box. `CONNECTED`: the call was answered at route level (`routing_result` is `ANSWERED`), no voicemail was detected and no `not_reached_destination_reason` is set; this can over-report a real conversation. `TRANSFERRED`: the call was transferred. `BUSY`: the destination was busy. `WRONG_NUMBER`: the destination is not in service. `NO_ANSWER`: the call ended without an answer, including the other `not_reached_destination_reason` values and any other final route status (failed, blocked, closed, handled by call flow).
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400`: Neither `user_id` nor `email` provided
- `401`: Invalid or missing API key
- `403`: The API key belongs to a team member without the admin or manager role, or lacks the required scope
- `404`: Queue or assignee not found
- `409`: The queue has an open dialing session
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `46c77103dd14`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/withallo/apis/allo-api/changes/v2/api/dialing-queues/:queue_id/assignee/patch.md)

---

[API](https://skmtc.dev/withallo/apis/allo-api.md) - [All operations](https://skmtc.dev/withallo/apis/allo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withallo/apis/allo-api/revisions/46c77103dd14?raw)
