---
title: "List pending scheduled calls"
method: POST
path: "/api/v1/phones/calls/scheduled"
tags: ["Phones - Calls"]
---

# List pending scheduled calls

`POST /api/v1/phones/calls/scheduled`

## Request

- Base URL: `https://api.voicelogica.ai`
- URL: `https://api.voicelogica.ai/api/v1/phones/calls/scheduled`
- Auth: API key in header `x-api-key`

List all pending scheduled calls for the company — calls with status "scheduled" or "to_be_processed" whose scheduled time is in the future, sorted by scheduled time ascending.

**Filters (all optional):**
- `agentId`: Only calls assigned to this agent
- `phoneNumber`: Only calls to this destination number (matched with and without country-code prefix)
- `limit`: Maximum results (default 100, max 500)

**Response:**
Each entry includes the call `id` (use it with the cancel-scheduled endpoint), destination number, scheduled time, agent, VoIP phone, AI context, dynamic variables, and retry counters.

**Typical Workflow:**
1. Schedule calls via initiate-call (`scheduledAt`) or initiate-bulk
2. Call this endpoint to review what is queued
3. Cancel unwanted calls via the cancel-scheduled endpoint

## Headers

- `x-api-key` string, required
- `x-company-id` string

## Request body

- object
  - `agentId` string: Filter scheduled calls by agent ID
  - `phoneNumber` string: Filter scheduled calls by destination phone number
  - `limit` number: Maximum number of scheduled calls to return (default: 100, max: 500)

## Response `200`

Scheduled calls retrieved

- object[]: Pending scheduled calls, sorted by scheduled time ascending
  - `id` string, required: Call ID (use this to cancel the call)
  - `phoneNumber` string, required: Destination phone number
  - `scheduledAt` string, date-time, required: When the call is scheduled to be placed
  - `agentId` string: Agent ID handling the call
  - `voipPhoneId` string: VoIP phone ID used for the call (legacy)
  - `sipTrunkId` string: SIP trunk ID used for the call
  - `contextForAi` string: AI context for the call
  - `dynamicVariables` object: Dynamic variables for the call
  - `retries` number: Current retry count
  - `maxRetries` number: Maximum retries allowed
  - `createdAt` string, date-time, required: When the call was created

## Other responses

- `401`: Unauthorized
- `403`: Invalid CSRF
- `429`: Rate limit exceeded
- `500`: Internal Server Error

---

[API](https://skmtc.dev/voicelogica/apis/voice-logica-api.md) · [All operations](https://skmtc.dev/voicelogica/apis/voice-logica-api/llms.txt) · [OpenAPI document](https://skmtc.dev/voicelogica/apis/voice-logica-api/revisions/30f76840084e?raw)
