curl --request POST \
--url https://api.withallo.com/v2/api/dialing-queues/current/numbers \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"numbers": [
{
"number": "+1 (212) 555-0010",
"name": "John",
"last_name": "Doe",
"company": "Acme Inc",
"job_title": "Sales Manager",
"emails": [
"[email protected]"
],
"website": "https://acme.com"
},
{
"number": "+33 6 12 34 56 78",
"name": "Marie",
"last_name": "Dupont",
"company": "Acme Inc"
},
{
"number": "+44 20 7946 0958"
}
]
}
'{
"data": {
"added": [
{
"number_to": "+12125550010",
"position": 0,
"created_at": "2026-04-30T10:00:00",
"updated_at": "2026-04-30T10:00:00"
},
{
"number_to": "+33612345678",
"position": 1,
"created_at": "2026-04-30T10:00:00",
"updated_at": "2026-04-30T10:00:00"
}
],
"skipped": []
}
}{
"error": {
"type": "validation_error",
"code": "DIALING_QUEUE_LIMIT_REACHED",
"message": "The dialing queue cannot exceed 25,000 numbers.",
"retryable": false
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "not_found_error",
"code": "ASSIGNEE_NOT_FOUND",
"message": "No team member found for the provided 'user_id' or 'email'.",
"retryable": false,
"suggestion": "List your teammates with GET /v2/api/users and use one of their ids as 'user_id', or pass a team-member email."
}
}{
"error": {
"type": "conflict_error",
"code": "DIALING_QUEUE_APPEND_CONFLICT",
"message": "A concurrent append to this queue caused a position conflict.",
"retryable": false,
"suggestion": "Retry the request — the conflict resolves on the next attempt."
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}Append numbers
Appends phone numbers to the Power Dialer queue assigned to the authenticated user. Creates the queue implicitly if none exists. Send user_id or email to append to a teammate’s queue — if that teammate has no current queue, one is created with the API key owner as creator_id and the teammate as assignee_id. user_id wins when both are provided.
curl --request POST \
--url https://api.withallo.com/v2/api/dialing-queues/current/numbers \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"numbers": [
{
"number": "+1 (212) 555-0010",
"name": "John",
"last_name": "Doe",
"company": "Acme Inc",
"job_title": "Sales Manager",
"emails": [
"[email protected]"
],
"website": "https://acme.com"
},
{
"number": "+33 6 12 34 56 78",
"name": "Marie",
"last_name": "Dupont",
"company": "Acme Inc"
},
{
"number": "+44 20 7946 0958"
}
]
}
'{
"data": {
"added": [
{
"number_to": "+12125550010",
"position": 0,
"created_at": "2026-04-30T10:00:00",
"updated_at": "2026-04-30T10:00:00"
},
{
"number_to": "+33612345678",
"position": 1,
"created_at": "2026-04-30T10:00:00",
"updated_at": "2026-04-30T10:00:00"
}
],
"skipped": []
}
}{
"error": {
"type": "validation_error",
"code": "DIALING_QUEUE_LIMIT_REACHED",
"message": "The dialing queue cannot exceed 25,000 numbers.",
"retryable": false
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}{
"error": {
"type": "not_found_error",
"code": "ASSIGNEE_NOT_FOUND",
"message": "No team member found for the provided 'user_id' or 'email'.",
"retryable": false,
"suggestion": "List your teammates with GET /v2/api/users and use one of their ids as 'user_id', or pass a team-member email."
}
}{
"error": {
"type": "conflict_error",
"code": "DIALING_QUEUE_APPEND_CONFLICT",
"message": "A concurrent append to this queue caused a position conflict.",
"retryable": false,
"suggestion": "Retry the request — the conflict resolves on the next attempt."
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"retryable": true,
"request_id": "<string>",
"retry_after_seconds": 123
}
}Targeting a teammate’s queue
By default, numbers are appended to the queue assigned to the API key owner. To append to a teammate’s queue, senduser_id or email in the JSON body. The teammate must belong to the same team as the API key owner.
user_id— wins when both are provided. Resolve teammate ids viaGET /v2/api/users.email— used only whenuser_idis absent.
creator_id and the teammate as assignee_id. If the resolved user isn’t on your team, the response is 404 ASSIGNEE_NOT_FOUND.Authorizations
Body
Numbers to append to the queue. Each entry requires a phone number; contact metadata is optional.
1Show child attributes
Show child attributes
Optional. ID of a teammate whose queue should receive the numbers. The teammate must belong to the same team as the API key owner. Wins over email when both are provided. Resolve teammate ids via GET /v2/api/users.
"usr-15BB68317A7F06F0C07A3BBD8F244102A6872220"
Optional. Email of a teammate whose queue should receive the numbers. Ignored when user_id is also supplied.
Response
Numbers appended
Show child attributes
Show child attributes
Was this page helpful?