---
title: "Initiate a callback between two numbers"
method: POST
path: "/callback"
tags: ["callbacks"]
---

# Initiate a callback between two numbers

`POST /callback`

Initiates a callback: your user receives an incoming call and, once they pick up, the system automatically dials the recipient.

<strong>Caution:</strong> this feature adds call redirection fees.

**Call workflow:**
1. Your user (<em>from_number</em>) receives a call showing the recipient's number (<em>to_number</em>).
2. Your user picks up the phone.
3. A call is automatically made to the recipient (<em>to_number</em>).

**Permission:** `Calls Write` required.

**Monitoring:**
- **OFF (default):** You can only initiate a callback from your own number. The `from_number` field is ignored.
- **ON:** You can use `from_number` to initiate the callback from any team member's number.

**Parameters:**
- `to_number` *(required)* — Destination phone number in E.164 format (e.g. `33611223344`).
- `device` *(required)* — 3-character device code indicating which device to ring: `APP`, `WEB`, `SIP`, `MOB`, `EXT`, or `ALL`.
- `timeout` *(optional, default 20)* — Seconds to wait before aborting the call if no answer. Min: `10`, max: `300`.
- `clir` *(optional, default false)* — If `true`, the caller's number is hidden from the recipient (Calling Line Identification Restriction).
- `from_number` *(optional, requires Monitoring ON)* — The team member's number to initiate the callback from. Ignored when Monitoring is OFF.

## Request body

- RequestCallback
  - `from_number` integer, nullable — The team member's phone number to initiate the callback from (E.164 format, digits only). Requires **Monitoring ON**. When Monitoring is OFF or when omitted, the authenticated user's default number is used.
  - `to_number` integer, required — Destination phone number in E.164 format (digits only). Required.
  - `timeout` integer — Number of seconds to wait before aborting the call if the communication is not established. Min: 10, max: 300, default: 20.
  - `device` 'ALL' | 'APP' | 'WEB' | 'SIP' | 'MOB' | 'EXT', required — Device to ring for the callback. Required. Use a 3-character code: APP (mobile app), WEB (web app), SIP (SIP phone), MOB (mobile number), EXT (external number), ALL (all devices).
  - `clir` boolean — Calling Line Identification Restriction. When true, the caller's number is hidden from the recipient.

## Response `200`

Successful operation — the callback has been initiated.

- CallbackList
  - `call_id` integer
  - `channel_id` integer

## Other responses

- `401` — Unauthorized — missing or invalid token, or insufficient Calls Write permission.
- `404` — Not found — the specified number or user could not be resolved.
- `500` — Internal server error.

---

[API](https://skmtc.net/ringover/apis/ringover-public-api.md) · [All operations](https://skmtc.net/ringover/apis/ringover-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ringover/ringover-public-api/revisions/9da73dd2f99e/schema)
