> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Een batchoproep annuleren.

POST https://api.elevenlabs.io/v1/convai/batch-calling/{batch_id}/cancel

Annuleer een lopend batchgesprek en stel de status van alle ontvangers in op geannuleerd.

Reference: https://elevenlabs.io/docs/eleven-agents/api-reference/batch-calling/cancel

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `batch_id` (string, required)

## Response

### 200

Geslaagde response

- `id` (string, required)
- `name` (string, required)
- `agent_id` (string, required)
- `created_at_unix` (integer, required)
- `scheduled_time_unix` (integer, required)
- `total_calls_dispatched` (integer, required, default: 0)
- `total_calls_scheduled` (integer, required, default: 0)
- `total_calls_finished` (integer, required, default: 0)
- `last_updated_at_unix` (integer, required)
- `status` (enum, required)
  - Allowed values: `pending`, `in_progress`, `completed`, `failed`, `cancelled`
- `retry_count` (integer, required, default: 0)
- `telephony_call_config` (TelephonyCallConfigOutput, required)
- `agent_name` (string, required)
- `phone_number_id` (string, optional)
- `phone_provider` (enum, optional)
  - Allowed values: `twilio`, `sip_trunk`, `exotel`
- `whatsapp_params` (BatchCallWhatsAppParams, optional)
- `branch_id` (string, optional)
- `environment` (string, optional)
- `timezone` (string, optional)
- `target_concurrency_limit` (integer, optional) — Maximumaantal gelijktijdige gesprekken voor deze batch. Indien ingesteld, wordt de verzending bepaald door deze limiet in plaats van door capaciteitspercentages van de workspace of agent.
- `branch_name` (string, optional)

## Errors

### 422 Batch Calls Cancel Request Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### TelephonyCallConfigOutput

- `ringing_timeout_secs` (integer, optional, default: 60) — Hoe lang de ontvanger moet worden gebeld voordat wordt gestopt, in seconden. Dit wordt ook beperkt door de eigen beperkingen van de provider.
- `twilio_call_recording_enabled` (boolean, optional, default: false) — Of het gesprek moet worden opgenomen met Twilio-gespreksopname. Wordt genegeerd voor niet-Twilio-providers. Opnames worden opgeslagen in je Twilio-account.
- `twilio_machine_detection` (TwilioMachineDetectionConfig, optional) — Configuratie voor detectie van voicemail op providerniveau van Twilio (AMD). Laat weg of stel in op null om deze uit te schakelen. Wordt genegeerd voor niet-Twilio-providers en voor inkomende gesprekken. Het resulterende oordeel wordt geleverd als een eigen `answering_machine_detection`-webhookgebeurtenis. Hiervoor moet die gebeurtenis zijn ingeschakeld in de webhookinstellingen van de workspace of agent; deze maakt geen deel uit van het gesprek of de webhook na het gesprek. Detectie wordt asynchroon uitgevoerd, zodat deze de start van het gesprek nooit vertraagt. Het oordeel kan op elk moment tijdens het gesprek binnenkomen -- met `detect_message_end` zelfs nadat het gesprek is beëindigd. Twilio factureert AMD afzonderlijk.

### BatchCallWhatsAppParams

- `whatsapp_call_permission_request_template_name` (string, required)
- `whatsapp_call_permission_request_template_language_code` (string, required)
- `whatsapp_phone_number_id` (string, optional)

### ValidationError

- `loc` (list of ValidationErrorLocItem, required)
- `msg` (string, required)
- `type` (string, required)

### TwilioMachineDetectionConfig

Hoe Twilio's detectie van antwoordapparaten op providerniveau (AMD) moet worden uitgevoerd voor een gesprek.

- `mode` (enum, optional, default: enable) — Hoe grondig de detectie moet zijn. `enable` retourneert een beoordeling zodra Twilio een mens van een machine kan onderscheiden. `detect_message_end` wacht ook tot de voicemailbegroeting is afgelopen, wat de `machine_end_*`-beoordelingen oplevert, maar retourneert later een resultaat.
  - Allowed values: `enable`, `detect_message_end`

### ValidationErrorLocItem

## Examples

**Response**

```json
{
  "id": "id",
  "name": "name",
  "agent_id": "agent_id",
  "created_at_unix": 1,
  "scheduled_time_unix": 1,
  "total_calls_dispatched": 1,
  "total_calls_scheduled": 1,
  "total_calls_finished": 1,
  "last_updated_at_unix": 1,
  "status": "pending",
  "retry_count": 1,
  "telephony_call_config": {
    "ringing_timeout_secs": 1,
    "twilio_call_recording_enabled": true,
    "twilio_machine_detection": {
      "mode": "enable"
    }
  },
  "agent_name": "agent_name",
  "phone_number_id": "phone_number_id",
  "phone_provider": "twilio",
  "whatsapp_params": {
    "whatsapp_call_permission_request_template_name": "whatsapp_call_permission_request_template_name",
    "whatsapp_call_permission_request_template_language_code": "whatsapp_call_permission_request_template_language_code",
    "whatsapp_phone_number_id": "whatsapp_phone_number_id"
  },
  "branch_id": "branch_id",
  "environment": "environment",
  "timezone": "timezone",
  "target_concurrency_limit": 1,
  "branch_name": "branch_name"
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel"

response = requests.post(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel';
const options = {method: 'POST'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/batch-calling/batch_id/cancel")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```