> 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.

# Configuratie van uitgaande campagne ophalen

GET https://api.elevenlabs.io/v1/convai/outbound-campaigns/config

Haal de configuratie voor uitgaande campagnes van de workspace op: het standaardbeleid dat nieuwe campagnes gebruiken en overschrijvingen per agent.

Reference: https://elevenlabs.io/docs/api-reference/campaigns/config/get

## 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)

## Response

### 200

Geslaagde response

- `version` (integer, required) — Neemt toe bij elke vervanging; stuur deze als `expected_version`.
- `config` (CampaignConfig-Output, required)

## Errors

### 422 Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### CampaignConfig-Output

- `policy` (PolicyConfig-Output, optional) — Het beleid dat campagnes gebruiken, tenzij ze hun eigen beleid instellen.
- `agent_policies` (map from string to AgentPolicyOverride-Output, optional) — Overschrijvingen van `policy`, ingedeeld op agent-ID.
- `whatsapp_voice_policy` (AgentPolicyOverride-Output, optional, nullable) — Overschrijvingen voor WhatsApp-spraakcampagnes, toegepast tussen het workspacebeleid en de overschrijvingen van een agent. Weggelaten secties volgen de ingebouwde standaardinstellingen van WhatsApp-spraak.

### ValidationError

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

### PolicyConfig-Output

- `timezone` (string, optional, default: UTC) — IANA-tijdzone waarin de belperiodes worden geïnterpreteerd.
- `retry` (RetryPolicy, optional)
- `calling_periods` (list of CallingPeriod, optional) — De wekelijkse vensters waarin oproepen kunnen worden geplaatst.
- `data_collection` (DataCollectionConfig, optional) — De gegevensverzamelingsitems van de agent die follow-upoproepen sturen. Elk item gebruikt standaard het ingebouwde item voor dat doel; `null` schakelt het uit.
- `followup_context` (FollowupContextPolicy, optional) — Welke dynamische variabelen van `campaign__` vervolgoproepen krijgen.

### AgentPolicyOverride-Output

Elke sectie die hier is ingesteld, vervangt de volledige overeenkomende sectie van het beleid.

- `timezone` (string, optional, nullable)
- `retry` (RetryPolicy, optional, nullable)
- `calling_periods` (list of CallingPeriod, optional, nullable)
- `data_collection` (DataCollectionConfig, optional, nullable) — De gegevensverzamelingsitems van de agent die follow-upoproepen sturen. Elk item gebruikt standaard het ingebouwde item voor dat doel; `null` schakelt het uit.
- `followup_context` (FollowupContextPolicy, optional, nullable) — Welke dynamische variabelen van `campaign__` vervolgoproepen krijgen.

### ValidationErrorLocItems

- string
- integer

### RetryPolicy

- `retry_delay_seconds` (integer, optional, default: 600) — Hoe lang er moet worden gewacht vóór een korte nieuwe poging.
- `max_short_retries` (integer, optional, default: 1) — Nieuwe pogingen die een belvenster toestaat na een mislukte oproep. Zodra deze zijn verbruikt, wacht de volgende nieuwe poging op het volgende venster, dat opnieuw begint.
- `max_total_calls` (integer, optional, default: 6) — Het maximale aantal oproepen dat een lead ontvangt, inclusief de eerste.
- `max_callbacks` (integer, optional, default: 2) — Het maximale aantal terugbelverzoeken dat voor één nummer wordt uitgevoerd.
- `max_redirects` (integer, optional, default: 2) — Het maximale aantal keren dat een lead een verzoek volgt om een ander nummer te bellen.
- `interval_placement` (enum, optional, default: start) — Waar een uitgestelde oproep in een later belvenster terechtkomt: bij de `start`, op een `random` tijdstip, of `rotate`d `rotate_step_seconds` na het punt waarop de laatste oproep in dat venster mislukte.
  - Allowed values: `start`, `random`, `rotate`
- `rotate_step_seconds` (integer, optional, default: 900) — Hoeveel posities `rotate` elke oproep verplaatst. Alleen gebruikt door `rotate`.
- `max_consecutive_failures_per_number` (integer, optional, nullable) — Oproepen naar één nummer die achter elkaar mogen mislukken voordat de lead doorgaat naar het volgende opgegeven nummer, of stopt als er geen volgend nummer is. Een beantwoorde oproep of een doorschakeling naar een nieuw nummer start de teller opnieuw. Als dit niet is ingesteld, geldt alleen `max_total_calls`.

### CallingPeriod

- `weekdays` (list of integer, required) — Dagen waarop de intervallen van toepassing zijn, van `0` (maandag) tot `6` (zondag).
- `intervals` (list of CallingIntervalPolicy, required) — Vensters op elk van die dagen. Ze mogen op geen enkele dag overlappen.

### DataCollectionConfig

De gegevensverzamelingsitems van de agent die follow-upoproepen sturen. Elk item gebruikt standaard het ingebouwde item voor dat doel; `null` schakelt het uit.

- `callback_time` (string, optional, nullable, default: __system_data_collection_callback_time) — Het item met het moment waarop de contactpersoon heeft gevraagd te worden teruggebeld.
- `redirect_phone_number` (string, optional, nullable, default: __system_data_collection_redirect_phone_number) — Het item met een ander nummer waarop de contactpersoon heeft gevraagd te worden gebeld.
- `stop` (string, optional, nullable, default: __system_data_collection_do_not_call) — Het item dat true is wanneer de contactpersoon heeft gevraagd niet opnieuw te worden gebeld.
- `mappings` (map from string to string, optional) — Kopieert resultaten van gegevensverzameling naar dynamische variabelen voor latere oproepen: elke sleutel is een ID van een gegevensverzamelingsitem en de waarde is de naam van de variabele.

### FollowupContextPolicy

Welke dynamische variabelen van `campaign__` vervolgoproepen krijgen.

- `call_type` (boolean, optional, default: true) — Geef het oproeptype door als `campaign__call_type`.
- `previous_conversation_id` (boolean, optional, default: true) — Geef de ID van het laatste gesprek door als `campaign__previous_conversation_id`.
- `previous_summary` (boolean, optional, default: true) — Geef de samenvatting van het laatste gesprek door als `campaign__previous_summary`.
- `previous_transcript` (boolean, optional, default: true) — Geef het transcript van het laatste gesprek door als `campaign__previous_transcript`.

### CallingIntervalPolicy

- `start` (string, required) — Lokale starttijd als `HH:MM`.
- `end` (string, required) — Lokale eindtijd als `HH:MM`; `24:00` eindigt om middernacht.

## Examples

**Response**

```json
{
  "version": 1,
  "config": {
    "policy": {
      "timezone": "UTC",
      "retry": {
        "retry_delay_seconds": 600,
        "max_short_retries": 1,
        "max_total_calls": 6,
        "max_callbacks": 2,
        "max_redirects": 2,
        "interval_placement": "start",
        "rotate_step_seconds": 900,
        "max_consecutive_failures_per_number": 1
      },
      "calling_periods": [
        {
          "weekdays": [
            1
          ],
          "intervals": [
            {
              "start": "string",
              "end": "string"
            }
          ]
        }
      ],
      "data_collection": {
        "callback_time": "string",
        "redirect_phone_number": "string",
        "stop": "string",
        "mappings": {}
      },
      "followup_context": {
        "call_type": true,
        "previous_conversation_id": true,
        "previous_summary": true,
        "previous_transcript": true
      }
    },
    "agent_policies": {},
    "whatsapp_voice_policy": {
      "timezone": "string",
      "retry": {
        "retry_delay_seconds": 600,
        "max_short_retries": 1,
        "max_total_calls": 6,
        "max_callbacks": 2,
        "max_redirects": 2,
        "interval_placement": "start",
        "rotate_step_seconds": 900,
        "max_consecutive_failures_per_number": 1
      },
      "calling_periods": [
        {
          "weekdays": [
            1
          ],
          "intervals": [
            {
              "start": "string",
              "end": "string"
            }
          ]
        }
      ],
      "data_collection": {
        "callback_time": "string",
        "redirect_phone_number": "string",
        "stop": "string",
        "mappings": {}
      },
      "followup_context": {
        "call_type": true,
        "previous_conversation_id": true,
        "previous_summary": true,
        "previous_transcript": true
      }
    }
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/outbound-campaigns/config"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/outbound-campaigns/config';
const options = {method: 'GET'};

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/outbound-campaigns/config"

	req, _ := http.NewRequest("GET", 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/outbound-campaigns/config")

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

request = Net::HTTP::Get.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.get("https://api.elevenlabs.io/v1/convai/outbound-campaigns/config")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/outbound-campaigns/config');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/outbound-campaigns/config");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/outbound-campaigns/config")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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()
```