RessourcenAssistenten

Assistenten

Erstellen, aktualisieren, klonen, löschen und verwalten Sie KI-Sprachassistenten über die Talkturo REST-API — konfigurieren Sie Prompts, Stimmen, Modelle und Telefonieeinstellungen.

curl -X POST "https://api.talkturo.com/api/assistants" \
  -H "Authorization: Bearer tk_test_example_9xmk7q2r" \
  -H "Content-Type: application/json" \
  -d '{
    "accountSlug": "acme-sales",
    "name": "Inbound Qualification Assistant",
    "templateId": "tmpl_voice_inbound"
  }'
{
  "success": true,
  "assistant": {
    "id": "7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e",
    "account_slug": "acme-sales",
    "name": "Inbound Qualification Assistant",
    "type": "tmpl_voice_inbound",
    "created_at": "2025-01-14T10:22:31.000Z",
    "updated_at": "2025-01-14T10:22:31.000Z"
  }
}
curl -X PATCH "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e" \
  -H "Authorization: Bearer tk_test_example_9xmk7q2r" \
  -H "Content-Type: application/json" \
  -d '{
    "accountSlug": "acme-sales",
    "name": "Inbound Qualification Assistant v2",
    "voice": "alloy",
    "model": "gpt-4o-realtime",
    "transcriptor_options": {
      "provider": "deepgram",
      "model": "nova-2"
    }
  }'
{
  "success": true,
  "assistant": {
    "id": "7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e",
    "account_slug": "acme-sales",
    "name": "Inbound Qualification Assistant v2",
    "type": "tmpl_voice_inbound",
    "created_at": "2025-01-14T10:22:31.000Z",
    "updated_at": "2025-01-14T11:04:09.000Z"
  }
}
curl -X DELETE "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e" \
  -H "Authorization: Bearer tk_test_example_9xmk7q2r"
{
  "success": true,
  "message": "Assistant deleted successfully"
}
curl -X POST "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e/clone" \
  -H "Authorization: Bearer tk_test_example_9xmk7q2r"
{
  "success": true,
  "assistant": {
    "id": "2f850d8a-a9d5-4906-af87-8c9838ab7d5d",
    "name": "Inbound Qualification Assistant (Copy)",
    "created_at": "2025-01-14T11:10:42.000Z",
    "updated_at": "2025-01-14T11:10:42.000Z"
  }
}
curl -X GET "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e/usage-stats?accountId=9a7c2d41-5a13-4d5f-b8d1-2e7f1c4a8b90" \
  -H "Authorization: Bearer tk_test_example_9xmk7q2r"
{
  "totalCalls": 148,
  "totalMinutes": 912.0,
  "avgDurationMinutes": 6.2,
  "completedCallsWithDuration": 145,
  "successRatePercent": 87.5,
  "successEvaluatedCount": 130,
  "timeline": {
    "today": 5,
    "last7Days": 45,
    "last30Days": 148,
    "last365Days": 148
  },
  "dailySeries": [
    { "date": "2025-02-18", "count": 6 },
    { "date": "2025-02-17", "count": 4 }
  ]
}
{
  "success": true,
  "assistant": {
    "id": "7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e",
    "account_slug": "acme-sales",
    "name": "Inbound Qualification Assistant",
    "type": "tmpl_voice_inbound",
    "created_at": "2025-01-14T10:22:31.000Z",
    "updated_at": "2025-01-14T10:22:31.000Z"
  }
}

Assistenten verwalten

Erstellen Sie Assistenten, aktualisieren Sie ihre Konfiguration, klonen Sie bestehende Setups, löschen Sie nicht mehr benötigte Assistenten und rufen Sie Nutzungsdaten für Reporting oder operative Prüfungen ab.

Alle Assistant-Endpunkte unterstützen Dual-Authentifizierung über withApiAuth. Authentifizieren Sie sich entweder mit einem Talkturo-API-Schlüssel oder mit einem authentifizierten Session-Cookie.

Basispfad: /api/assistants

Endpunktübersicht

MethodePfadBeschreibung
POST/api/assistantsErstellt einen neuen Assistenten
PATCH/api/assistants/{assistantId}Aktualisiert die Konfiguration eines vorhandenen Assistenten
DELETE/api/assistants/{assistantId}Löscht einen Assistenten
POST/api/assistants/{assistantId}/cloneKlont einen vorhandenen Assistenten
GET/api/assistants/{assistantId}/usage-statsRuft Nutzungsstatistiken für einen Assistenten ab
GET/api/assistants/{assistantId}/tool-configsWerkzeugkonfigurationen auflisten
GET/api/assistants/{assistantId}/tool-configs/{toolType}Spezifische Werkzeugkonfiguration abrufen
POST/api/assistants/{assistantId}/tool-configs/{toolType}Werkzeugkonfiguration erstellen oder aktualisieren
DELETE/api/assistants/{assistantId}/tool-configs/{toolType}Werkzeugkonfiguration(en) löschen
GET/api/assistants/{assistantId}/billing/estimateKostenschätzung pro Minute
GET/api/assistants/{assistantId}/knowledge-baseAngehängte Wissensdatenbank-Dateien auflisten
POST/api/assistants/{assistantId}/knowledge-baseWissensdatenbank-Datei anhängen
DELETE/api/assistants/{assistantId}/knowledge-base/{fileId}Wissensdatenbank-Datei trennen
GET/api/assistants/{assistantId}/telephony/phone-numbersZugewiesene Telefonnummern auflisten
PATCH/api/assistants/{assistantId}/telephony/phone-numbersTelefonnummern zuweisen
POST/api/assistants/{assistantId}/telephony/inboundEingehende Anrufe aktivieren/deaktivieren
POST/api/assistants/{assistantId}/telephony/outboundAusgehende Anrufe aktivieren/deaktivieren
POST/api/assistants/{assistantId}/telephony/settingsTelefonieeinstellungen aktualisieren
POST/api/assistants/{assistantId}/telephony/test-callTestanruf starten
GET/api/assistants/{assistantId}/telephony/assign-phone-numbersZuweisbare Telefonnummern auflisten
GET/api/assistants/{assistantId}/telephony/compliance-templatesCompliance-Vorlagen auflisten
POST/api/assistants/{assistantId}/test-linkTest-Link erstellen oder aktualisieren
POST/api/assistants/{assistantId}/crm-groupCRM-Gruppe zuweisen
POST/api/assistants/{assistantId}/webhooks/testTest-Webhook-Event einreihen
GET/api/assistants/{assistantId}/prompt-versionsPrompt-Versionen auflisten
POST/api/assistants/{assistantId}/prompt-versionsPrompt-Version speichern
DELETE/api/assistants/{assistantId}/prompt-versions/{versionId}Prompt-Version löschen
POST/api/assistants/{assistantId}/prompt-versions/{versionId}/restorePrompt-Version wiederherstellen
POST/api/assistants/{assistantId}/tools/workflowWorkflow-Werkzeug anhängen
DELETE/api/assistants/{assistantId}/tools/workflowWorkflow-Werkzeug trennen

Einen Assistenten erstellen

Erstellen Sie einen Assistenten mit einem Kontoslug und einem Namen. Optional können Sie auch eine Vorlage angeben, um den Assistententyp beim Anlegen zu setzen.

Request-Body

body
accountSlugstring
Required

Der Slug des Kontos, in dem der Assistent erstellt wird.

body
namestring
Required

Der Anzeigename des Assistenten.

body
templateIdstring

Optionale Vorlagen-ID. Wenn angegeben, setzt Talkturo den Assistententyp aus dieser Vorlage.

Antwortfelder

successboolean
Required

Gibt an, ob die Anfrage erfolgreich war.

assistantobject
Required

Das neu erstellte Assistant-Objekt.

assistant.idstring
Required

Die eindeutige Kennung des Assistenten.

assistant.account_slugstring
Required

Der Kontoslug, dem der Assistent gehört.

assistant.namestring
Required

Der Name des Assistenten.

assistant.typestring
Required

Der Typ des Assistenten. Beim Erstellen wird dieser aus templateId abgeleitet, wenn eine Vorlage übergeben wurde.

assistant.created_atstring
Required

Zeitstempel der Erstellung im ISO-8601-Format.

assistant.updated_atstring
Required

Zeitstempel der letzten Aktualisierung im ISO-8601-Format.

Einen Assistenten aktualisieren

Aktualisieren Sie einen vorhandenen Assistenten, indem Sie seine Kennung im Pfad und die zu ändernden Felder im Request-Body übergeben. Der Endpunkt akzeptiert accountSlug optional und validiert transcriptor_options gegen den gewählten Provider und das Modell, bevor Änderungen gespeichert werden.

Pfadparameter

path
assistantIdstring
Required

Die UUID des zu aktualisierenden Assistenten.

Request-Body

body
accountSlugstring

Optionaler Kontoslug. Geben Sie ihn an, wenn Ihre Integration das Zielkonto explizit festlegen soll.

body
...assistant fieldsobject

Beliebige Assistant-Felder, die aktualisiert werden sollen. Der Endpunkt akzeptiert partielle Updates.

body
transcriptor_optionsobject

Optionale Transkriptionskonfiguration. Talkturo validiert diese Konfiguration gegen den ausgewählten Provider und das Modell, bevor die Aktualisierung gespeichert wird.

Antwortfelder

successboolean
Required

Gibt an, ob die Anfrage erfolgreich war.

assistantobject
Required

Das aktualisierte Assistant-Objekt.

Einen Assistenten löschen

Löschen Sie einen Assistenten dauerhaft über seine Kennung. Der Endpunkt prüft, ob der Assistent dem authentifizierten Konto gehört, bevor der Löschvorgang ausgeführt wird.

Pfadparameter

path
assistantIdstring
Required

Die UUID des zu löschenden Assistenten.

Antwortfelder

successboolean
Required

Gibt an, ob die Anfrage erfolgreich war.

messagestring
Required

Bestätigung, dass der Assistent erfolgreich gelöscht wurde.

Einen Assistenten klonen

Klonen Sie einen vorhandenen Assistenten, um schnell eine neue Konfiguration auf Basis eines bestehenden Setups zu erstellen.

Pfadparameter

path
assistantIdstring
Required

Die UUID des zu klonenden Assistenten.

Request-Body

body
accountSlugstring

Der Kontoslug für den Workspace, in dem der Klon erstellt werden soll. Wenn weggelassen, wird das dem API-Schlüssel zugeordnete Konto verwendet.

Antwortfelder

successboolean
Required

Gibt an, ob die Anfrage erfolgreich war.

assistantobject
Required

Das neu geklonte Assistant-Objekt.

assistant.idstring
Required

Die eindeutige Kennung des geklonten Assistenten.

assistant.namestring
Required

Der Name des geklonten Assistenten.

assistant.created_atstring
Required

Zeitstempel der Erstellung im ISO-8601-Format.

assistant.updated_atstring
Required

Zeitstempel der letzten Aktualisierung im ISO-8601-Format.

Nutzungsstatistiken abrufen

Rufen Sie aggregierte Nutzungsdaten für einen einzelnen Assistenten ab, um Aufrufe, Gesprächsminuten und den Zeitpunkt des letzten Anrufs zu prüfen.

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten, dessen Nutzungsstatistiken Sie abrufen möchten.

Abfrageparameter

query
accountIdstring
Required

Die Konto-UUID, der den Assistenten besitzt. Gibt 400 zurück, wenn weggelassen.

Antwortfelder

totalCallsinteger
Required

Gesamtzahl der Anrufe, die vom Assistenten behandelt wurden.

totalMinutesnumber
Required

Gesamtanrufdauer in Minuten, auf eine Nachkommastelle gerundet.

avgDurationMinutesnumber

Durchschnittliche Anrufdauer in Minuten. Gibt null zurück, wenn keine Anrufe sowohl Start- als auch Endzeitstempel haben.

completedCallsWithDurationinteger
Required

Anzahl der Anrufe mit sowohl started_at als auch ended_at Zeitstempeln.

successRatePercentnumber

Prozentsatz der erfolgreichen Anrufe, auf eine Nachkommastelle gerundet. Gibt null zurück, wenn keine Anrufe bewertet werden konnten.

successEvaluatedCountinteger
Required

Anzahl der Anrufe, die für die Erfolgsbewertung ausgewertet werden konnten.

timelineobject
Required

Anrufanzahlen nach Zeitraum: today, last7Days, last30Days und last365Days.

timeline.todayinteger
Required

Anzahl der Anrufe für den aktuellen UTC-Tag.

timeline.last7Daysinteger
Required

Anzahl der Anrufe in den letzten 7 Tagen.

timeline.last30Daysinteger
Required

Anzahl der Anrufe in den letzten 30 Tagen.

timeline.last365Daysinteger
Required

Anzahl der Anrufe in den letzten 365 Tagen.

dailySeriesarray
Required

Array täglicher Anrufanzahlen für die letzten 30 Tage. Jeder Eintrag enthält ein Datum im Format YYYY-MM-DD in UTC und eine Anzahl.

dailySeries[].datestring
Required

Datum des Tages im Format YYYY-MM-DD in UTC.

dailySeries[].countinteger
Required

Anzahl der Anrufe für dieses Datum.

Werkzeugkonfigurationen

Werkzeugkonfigurationen ermöglichen es Ihnen, Drittanbieter-Tools wie Cal.com-Scheduling, Zapier oder benutzerdefinierte Webhooks an einen Assistenten anzuhängen. Alle Endpunkte erfordern Session-Authentifizierung.

MethodePfadBeschreibung
GET/api/assistants/{assistantId}/tool-configsAlle aktivierten Werkzeugkonfigurationen auflisten
GET/api/assistants/{assistantId}/tool-configs/{toolType}Konfigurationen für einen bestimmten Werkzeugtyp abrufen
POST/api/assistants/{assistantId}/tool-configs/{toolType}Werkzeugkonfiguration erstellen oder aktualisieren
DELETE/api/assistants/{assistantId}/tool-configs/{toolType}Werkzeugkonfiguration(en) löschen

Konfigurationen für einen Werkzeugtyp abrufen

Rufen Sie Konfigurationen für einen einzelnen Werkzeugtyp ab. Verwenden Sie configId, wenn Sie eine bestimmte Konfiguration adressieren möchten, oder all=true, um alle Konfigurationen dieses Typs zurückzugeben.

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten, dessen Werkzeugkonfigurationen Sie abrufen möchten.

path
toolTypestring
Required

Der Werkzeugtyp. Gültige Werte sind cal_com, zapier, cal_com_schedule, cal_com_get_bookings und cal_com_cancel.

Allowed values:cal_comzapiercal_com_schedulecal_com_get_bookingscal_com_cancel

Abfrageparameter

query
configIdstring

Optionale UUID einer bestimmten Konfiguration.

query
allstring

Setzen Sie den Wert auf true, um alle Konfigurationen dieses Typs zurückzugeben.

Werkzeugkonfiguration erstellen oder aktualisieren

Erstellen Sie eine neue Werkzeugkonfiguration oder aktualisieren Sie eine vorhandene Konfiguration für den angegebenen Werkzeugtyp.

Abfrageparameter

query
configIdstring

Optionale UUID einer vorhandenen Konfiguration, die aktualisiert werden soll.

Request-Body

body
configobject
Required

Freiform-Konfiguration für das Werkzeug.

body
is_enabledboolean

Aktiviert oder deaktiviert die Konfiguration. Standardwert ist true.

Werkzeugkonfigurationen löschen

Löschen Sie entweder eine bestimmte Konfiguration oder alle Konfigurationen eines Werkzeugtyps.

Abfrageparameter

query
configIdstring

Optionale UUID einer bestimmten Konfiguration. Wenn weggelassen, löscht der Endpunkt alle Konfigurationen dieses Typs.

Die Werkzeugkonfigurations-Endpunkte verwenden Session-Authentifizierung und stehen nicht über API-Schlüssel zur Verfügung.

Kostenschätzung

Gibt eine geschätzte Kosten pro Minute in Credits zurück, basierend auf den Provider-Einstellungen des Assistenten und dem aktiven Kostenkatalog.

Endpunkt

GET /api/assistants/{assistantId}/billing/estimate

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten, für den Sie die Kostenschätzung abrufen möchten.

Abfrageparameter

query
llm_providerstring

LLM-Provider überschreiben für Live-Vorschau.

query
llm_modelstring

LLM-Modell überschreiben.

query
stt_providerstring

STT-Provider überschreiben.

query
stt_modelstring

STT-Modell überschreiben.

query
tts_providerstring

TTS-Provider überschreiben.

query
tts_modelstring

TTS-Modell überschreiben.

query
is_realtimestring

Setzen Sie den Wert auf true oder 1 für eine Realtime-Modus-Schätzung.

Antwortfelder

catalogobject
Required

Aktiver Kostenkatalog mit Kennung und Namen.

catalog.idstring
Required

Die eindeutige Kennung des aktiven Kostenkatalogs.

catalog.namestring
Required

Der Name des aktiven Kostenkatalogs.

assumptionsobject
Required

Annahmen, die zur Berechnung der Schätzung verwendet werden.

assumptions.chars_per_minutenumber
Required

Angenommene Zeichen pro Minute für die TTS-Berechnung.

assumptions.prompt_tokens_per_minutenumber
Required

Angenommene Prompt-Tokens pro Minute für die LLM-Berechnung.

assumptions.completion_tokens_per_minutenumber
Required

Angenommene Completion-Tokens pro Minute für die LLM-Berechnung.

assistantobject
Required

Effektive Provider- und Modellinformationen des Assistenten für die Schätzung.

ratesobject
Required

Angewendete Raten pro Minute und pro 1.000 Einheiten.

breakdown_credits_per_minuteobject
Required

Aufschlüsselung der geschätzten Kosten pro Minute nach STT-, TTS-, LLM- und Telefonie-Komponenten.

estimated_credits_per_minutenumber
Required

Geschätzte Gesamtkosten pro Minute in Credits.

Wissensdatenbank-Anhänge

Verwalten Sie Wissensdatenbank-Dateien, die an einen Assistenten angehängt sind. Hängen Sie vorhandene Dateien aus der Kontobibliothek an. Diese Endpunkte laden keine neuen Dateien hoch. Siehe Wissensdatenbank für Datei-Upload und -Verwaltung.

MethodePfadBeschreibungAuthScope
GET/api/assistants/{assistantId}/knowledge-baseAngehängte Wissensdatenbank-Dateien auflistenAPI-Schlüssel oder Sessionkb:read
POST/api/assistants/{assistantId}/knowledge-baseVorhandene Datei anhängenAPI-Schlüssel oder Sessionkb:write
DELETE/api/assistants/{assistantId}/knowledge-base/{fileId}Datei trennenAPI-Schlüssel oder Sessionkb:write

Angehängte Wissensdatenbank-Dateien auflisten

Ruft alle Wissensdatenbank-Dateien ab, die an den Assistenten angehängt sind. Ergebnisse sind nach Anhänge-Erstellungszeit sortiert, neueste zuerst.

Endpunkt

GET /api/assistants/{assistantId}/knowledge-base

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Anfrage erfolgreich ist.

filesarray
Required

Array von angehängten Wissensdatenbank-Dateiobjekten. Jedes Objekt enthält id, filename, mime_type, size_bytes, status, status_error, char_count, chunk_count, created_at und updated_at.

Wissensdatenbank-Datei anhängen

Hängen Sie eine vorhandene Wissensdatenbank-Datei aus der Kontobibliothek an den Assistenten an. Die Datei muss bereits existieren und zum selben Konto wie der Assistenten gehören. Dieser Vorgang ist idempotent, das Anhängen einer bereits angehängten Datei gibt Erfolg zurück, ohne ein Duplikat zu erstellen.

Endpunkt

POST /api/assistants/{assistantId}/knowledge-base

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Body-Parameter

body
file_idstring
Required

UUID der Wissensdatenbank-Datei, die angehängt werden soll. Die Datei muss bereits in der Kontobibliothek existieren.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Datei angehängt wurde oder bereits angehängt war.

idempotentboolean

Gibt true zurück, wenn die Datei bereits angehängt war und kein neuer Anhang erstellt wurde.

Wissensdatenbank-Datei trennen

Entfernen Sie eine Wissensdatenbank-Datei von einem Assistenten. Dies entfernt nur den Anhang. Die zugrunde liegende Datei bleibt in der Kontobibliothek. Das Trennen eines nicht vorhandenen Anhangs gibt trotzdem Erfolg zurück.

Endpunkt

DELETE /api/assistants/{assistantId}/knowledge-base/{fileId}

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

path
fileIdstring
Required

UUID der Wissensdatenbank-Datei, die getrennt werden soll.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Datei getrennt wurde oder nicht angehängt war.

Telefonieverwaltung

Verwalten Sie ein- und ausgehende Telefonie für einen Assistenten. Diese Endpunkte stellen LiveKit-Trunks bereit, konfigurieren diese, weisen Telefonnummern zu und starten Testanrufe.

Die meisten Telefonieverwaltungs-Endpunkte erfordern Session-Authentifizierung und unterstützen keine API-Schlüssel-Authentifizierung. Nur der Endpunkt zum Auflisten von Telefonnummern unterstützt API-Schlüssel.

MethodePfadBeschreibungAuth
GET/api/assistants/{assistantId}/telephony/phone-numbersDem Assistenten zugewiesene Telefonnummern auflistenAPI-Schlüssel oder Session
PATCH/api/assistants/{assistantId}/telephony/phone-numbersTelefonnummern dem Assistenten zuweisenAPI-Schlüssel oder Session
POST/api/assistants/{assistantId}/telephony/inboundEingehende Anrufe aktivieren oder deaktivierenNur Session
POST/api/assistants/{assistantId}/telephony/outboundAusgehende Anrufe aktivieren oder deaktivierenNur Session
POST/api/assistants/{assistantId}/telephony/settingsTelefonieeinstellungen aktualisieren (Telefonnummern, Anrufbeantworter, Compliance)Nur Session
POST/api/assistants/{assistantId}/telephony/test-callTestanruf startenNur Session
GET/api/assistants/{assistantId}/telephony/assign-phone-numbersZuweisbare Telefonnummern auflistenNur Session
GET/api/assistants/{assistantId}/telephony/compliance-templatesCompliance-Vorlagen auflistenNur Session

Zugewiesene Telefonnummern auflisten

Ruft aktive, nicht gelöschte Telefonnummern ab, die dem Assistenten zugewiesen sind. Ergebnisse umfassen Nummern, die nicht zugewiesen oder diesem Assistenten zugewiesen sind, sortiert nach Telefonnummer aufsteigend.

Endpunkt

GET /api/assistants/{assistantId}/telephony/phone-numbers

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Abfrageparameter

query
accountSlugstring

Kontoslug zur Workspace-Auflösung.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Anfrage erfolgreich ist.

numbersarray
Required

Array von Telefonnummern-Objekten. Jedes Objekt enthält id, phone_number, status, is_trial, trial_expires_at, assistant_id, provider, ownership_type, country_code, provider_account_id, provider_account_sid und Konto-Label-Felder.

Telefonnummern zuweisen (PATCH)

Weisen Sie dem Assistenten Telefonnummern zu. Alle vorhandenen Zuweisungen werden zuerst entfernt, dann werden die angegebenen IDs zugewiesen. LiveKit-Routing wird für betroffene Assistenten neu synchronisiert.

Endpunkt

PATCH /api/assistants/{assistantId}/telephony/phone-numbers

Body-Parameter

body
accountSlugstring

Kontoslug zur Workspace-Auflösung.

body
phoneNumberIdsarray
Required

Array von Telefonnummern-UUIDs, die zugewiesen werden sollen.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn Telefonnummern erfolgreich zugewiesen wurden.

messagestring
Required

Bestätigungsmeldung.

Eingehende Anrufe aktivieren oder deaktivieren

Schalten Sie eingehende Anrufe für den Assistenten um. Das Aktivieren erfordert mindestens eine aktive, nicht gelöschte Telefonnummer, die dem Assistenten zugewiesen ist. Talkturo stellt den LiveKit-Eingehend-Trunk und die Dispatch-Regel beim Aktivieren bereit oder aktualisiert sie und entfernt sie beim Deaktivieren.

Endpunkt

POST /api/assistants/{assistantId}/telephony/inbound

Body-Parameter

body
accountSlugstring
Required

Kontoslug zur Workspace-Auflösung.

body
enabledboolean
Required

Auf true setzen, um eingehende Anrufe zu aktivieren, oder auf false, um sie zu deaktivieren.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Vorgang erfolgreich ist.

assistantobject
Required

Aktualisierter Telefoniestatus des Assistenten einschließlich id, inbound_enabled, outbound_enabled, livekit_inbound_trunk_id und livekit_dispatch_rule_id.

Ausgehende Anrufe aktivieren oder deaktivieren

Schalten Sie ausgehende Anrufe für den Assistenten um. Das Aktivieren erfordert mindestens eine aktive zugewiesene Telefonnummer. Talkturo stellt den LiveKit-Ausgehend-Trunk beim Aktivieren bereit oder aktualisiert ihn und entfernt ihn beim Deaktivieren.

Endpunkt

POST /api/assistants/{assistantId}/telephony/outbound

Body-Parameter

body
accountSlugstring
Required

Kontoslug zur Workspace-Auflösung.

body
enabledboolean
Required

Auf true setzen, um ausgehende Anrufe zu aktivieren, oder auf false, um sie zu deaktivieren.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Vorgang erfolgreich ist.

assistantobject
Required

Aktualisierter Telefoniestatus des Assistenten einschließlich id, inbound_enabled, outbound_enabled und livekit_outbound_trunk_id.

Telefonieeinstellungen aktualisieren

Konfigurieren Sie Telefonnummern-Zuweisungen, Anrufbeantworter, Compliance und Zielland in einer einzigen Anfrage. Dieser Endpunkt verarbeitet LiveKit-Bereitstellung, Anrufbeantworter-Erkennung und Compliance-Zustimmungs-Workflows.

Endpunkt

POST /api/assistants/{assistantId}/telephony/settings

Body-Parameter

body
accountSlugstring
Required

Kontoslug zur Workspace-Auflösung.

body
phoneNumberIdsarray
Required

Array von Telefonnummern-UUIDs, die zugewiesen werden sollen. IDs werden automatisch dedupliziert.

body
inboundEnabledboolean
Required

Ob eingehende Anrufe aktiviert werden sollen.

body
outboundEnabledboolean
Required

Ob ausgehende Anrufe aktiviert werden sollen.

body
telnyxConnectionIdstring

Telnyx-Verbindungs-Credential-ID. Eine leere Zeichenfolge wird zu null konvertiert.

body
destinationCountrystring

Zielländercode für ausgehendes Routing. Auf null für automatisches Regions-Routing setzen. Gültige Werte: ae, au, br, ch, de, fr, gb, il, in, jp, sa, sg, us, za.

body
voicemailobject

Anrufbeantworter-Erkennungseinstellungen. Enthält detectionEnabled (boolean), action (string, maximal 40 Zeichen) und message (string, maximal 2000 Zeichen).

body
complianceobject

Compliance-Zustimmungseinstellungen. Enthält enabled (boolean), templateId (string, UUID wenn nicht-null), briefingText (string, maximal 2000 Zeichen), language (string, maximal 20 Zeichen), requireAck (boolean), fallbackPolicy (retry, block oder continue) und ackTimeoutSeconds (integer, 3 bis 60). Wenn compliance.enabled true ist, ist entweder templateId oder nicht-leerer briefingText erforderlich.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn Telefonieeinstellungen erfolgreich aktualisiert wurden.

assistantobject
Required

Aktualisierter Telefoniestatus des Assistenten.

assignedActivenumber
Required

Anzahl der aktiven Telefonnummern, die nach der Aktualisierung zugewiesen sind.

Telefonieeinstellungen werden atomar angewendet. Wenn die LiveKit-Bereitstellung fehlschlägt, setzt die Route alle aktivierten Flags und Trunk-IDs auf ihren vorherigen Status zurück.

Testanruf starten

Starten Sie einen Testanruf mit der Telefoniekonfiguration des Assistenten. Erfordert ausreichende Kontoguthaben und aktivierte ausgehende Anrufe.

Endpunkt

POST /api/assistants/{assistantId}/telephony/test-call

Body-Parameter

body
accountSlugstring
Required

Kontoslug zur Workspace-Auflösung.

body
fromNumberstring
Required

Die Absender-Telefonnummer. Muss dem Assistenten zugewiesen, aktiv und nicht gelöscht sein.

body
toNumberstring
Required

Die Ziel-Telefonnummer. Wird automatisch ins E.164-Format normalisiert.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Testanruf gestartet wurde.

roomNamestring
Required

Der für den Testanruf erstellte LiveKit-Raumname.

sipCallIdstring

Die SIP-Anruf-ID, wenn der Anruf erfolgreich erstellt wurde.

messagestring
Required

Bestätigungsmeldung mit der Zielnummer.

Testanrufe erfordern ausreichende Kontoguthaben. Wenn das Guthaben zu niedrig ist, gibt die API HTTP 402 mit dem aktuellen Guthaben und dem mindestens erforderlichen Guthaben zurück.

Zuweisbare Telefonnummern auflisten

Ruft Telefonnummern ab, die dem Assistenten zugewiesen werden können, einschließlich nicht zugewiesener Nummern und bereits zugewiesener Nummern.

Endpunkt

GET /api/assistants/{assistantId}/telephony/assign-phone-numbers

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Abfrageparameter

query
accountSlugstring

Kontoslug zur Workspace-Auflösung.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Anfrage erfolgreich ist.

numbersarray
Required

Telefonnummern, die für die Zuweisung verfügbar sind, einschließlich nicht zugewiesener Nummern und bereits zugewiesener Nummern.

Compliance-Vorlagen auflisten

Ruft Compliance-Vorlagen ab, die für die Telefoniekonfiguration des Assistenten verfügbar sind.

Endpunkt

GET /api/assistants/{assistantId}/telephony/compliance-templates

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Anfrage erfolgreich ist.

templatesarray
Required

Compliance-Vorlagen, die für das Konto des Assistenten verfügbar sind.

Generieren oder aktualisieren Sie einen Test-Link für einen Assistenten. Der Test-Link bietet eine URL, die einen browserbasierten Testanruf mit dem Assistenten öffnet.

Endpunkt

POST /api/assistants/{assistantId}/test-link

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Test-Link erstellt oder aktualisiert wurde.

tokenstring
Required

Der Test-Link-Token.

linkstring
Required

Die vollständige Test-Link-URL.

CRM-Gruppenzuweisung

Weisen Sie einem Assistenten eine CRM-Gruppe zu. Die CRM-Gruppe bestimmt, welche Kontakte der Assistent während Anrufen aufrufen kann. Die Gruppe muss zum selben Konto wie der Assistent gehören.

Endpunkt

POST /api/assistants/{assistantId}/crm-group

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Body-Parameter

body
accountSlugstring
Required

Kontoslug zur Workspace-Auflösung.

body
groupIdstring
Required

UUID der zuzuweisenden CRM-Gruppe. Die Gruppe muss zum selben Konto gehören.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die CRM-Gruppe erfolgreich zugewiesen wurde.

assistantobject
Required

Aktualisierter Assistent-Datensatz einschließlich id und group_id.

warningstring

Wird zurückgegeben, wenn die Datenbankzuweisung erfolgreich ist, aber die LiveKit-Neusynchronisierung fehlschlägt. Die Zuweisung wird dennoch gespeichert.

Webhook-Test

Senden Sie ein Test-Webhook-Event, um zu überprüfen, ob die Webhook-Konfiguration des Assistenten funktioniert. Der Endpunkt generiert ein synthetisches call.ended-Event und reiht es zur Zustellung ein. Er führt keinen echten Anruf durch und ruft den Webhook nicht synchron auf.

Der Assistent muss Webhooks aktiviert haben mit sowohl URL als auch Secret konfiguriert, bevor getestet wird.

Endpunkt

POST /api/assistants/{assistantId}/webhooks/test

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn das Test-Event eingereiht wurde.

delivery_idstring
Required

UUID der eingereihten Webhook-Zustellung.

messagestring
Required

Bestätigungsmeldung. Wert ist Test event queued.

Prompt-Versionsverlauf

Verfolgen und stellen Sie frühere Versionen des System-Prompts eines Assistenten wieder her. Jedes Mal, wenn sich der Prompt ändert, speichert Talkturo einen versionierten Snapshot. Verwenden Sie diese Endpunkte, um den Verlauf zu durchsuchen, eine neue Version zu speichern, einen alten Prompt wiederherzustellen oder eine nicht mehr benötigte Version zu löschen.

Alle Prompt-Versions-Endpunkte verwenden withApiAuth und unterstützen sowohl API-Schlüssel- als auch Session-Cookie-Authentifizierung. API-Schlüssel-Anfragen verwenden das dem Schlüssel zugeordnete Konto. Session-Token-Anfragen erfordern accountSlug im Query-String. Cookie-Session-Anfragen erfordern teamId oder accountSlug im Query-String oder Request-Body.

MethodePfadBeschreibung
GET/api/assistants/{assistantId}/prompt-versionsPrompt-Versionen auflisten
POST/api/assistants/{assistantId}/prompt-versionsAktuellen Prompt als neue Version speichern
DELETE/api/assistants/{assistantId}/prompt-versions/{versionId}Prompt-Version löschen
POST/api/assistants/{assistantId}/prompt-versions/{versionId}/restoreFrühere Prompt-Version wiederherstellen

Prompt-Versionen auflisten

Ruft eine paginierte Liste von Prompt-Versionen ab, neueste zuerst.

Endpunkt

GET /api/assistants/{assistantId}/prompt-versions

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Abfrageparameter

query
limitinteger

Maximale Anzahl der zurückgegebenen Versionen. Wird auf den Bereich 1 bis 50 begrenzt. Standardwert ist 10.

query
beforeinteger

Gibt Versionen mit einer Versionsnummer kleiner als dieser Wert zurück. Verwenden Sie dies für cursor-basierte Pagination.

query
accountSlugstring

Kontoslug. Erforderlich für Bearer-Session-Token-Authentifizierung.

query
teamIdstring

Team-ID. Erforderlich für Cookie-Session-Authentifizierung, wenn accountSlug nicht angegeben wird.

Antwortfelder

versionsarray
Required

Prompt-Versionen, neueste zuerst. Jede Version enthält id, assistant_id, version, system_prompt, created_by, created_at, last_used_at und author_name.

current_version_idstring
Required

UUID der aktuell aktiven Prompt-Version oder null, wenn keine Version aktiv ist.

has_moreboolean
Required

Gibt an, ob weitere Versionen über die aktuelle Seite hinaus verfügbar sind.

Prompt-Version speichern

Speichert den aktuellen System-Prompt des Assistenten als neue Version. Wenn sich der Prompt seit der letzten Version nicht geändert hat, gibt der Endpunkt unchanged: true zurück und erstellt keine neue Version.

Endpunkt

POST /api/assistants/{assistantId}/prompt-versions

Body-Parameter

body
system_promptstring

Der zu speichernde Prompt. Wenn weggelassen, wird der aktuelle system_prompt des Assistenten als Snapshot gespeichert.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Version gespeichert wurde.

unchangedboolean

Gibt true zurück, wenn der Prompt mit der aktuellen Version übereinstimmt und keine neue Version erstellt wurde.

versionobject
Required

Die gespeicherte oder aktuelle Prompt-Version, einschließlich id, assistant_id, version und system_prompt.

Ein leerer Prompt kann nicht als Version gespeichert werden. Der Endpunkt gibt 400 mit dem Fehler Cannot save an empty AI Script as a version zurück.

Prompt-Version löschen

Löschen Sie eine Prompt-Version anhand ihrer ID. Die aktuell aktive Version kann nicht gelöscht werden.

Endpunkt

DELETE /api/assistants/{assistantId}/prompt-versions/{versionId}

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

path
versionIdstring
Required

Die zu löschende Prompt-Versions-UUID.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Version gelöscht wurde.

Das Löschen der aktuell aktiven Version gibt 409 mit dem Fehler Cannot delete the version the assistant is using zurück.

Prompt-Version wiederherstellen

Stellen Sie eine frühere Prompt-Version wieder her, indem Sie deren system_prompt auf den Assistenten kopieren. Dies aktualisiert den aktuellen Prompt und den Versionszeiger des Assistenten, erstellt aber keine neue Version.

Endpunkt

POST /api/assistants/{assistantId}/prompt-versions/{versionId}/restore

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

path
versionIdstring
Required

Die wiederherzustellende Prompt-Versions-UUID.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Prompt wiederhergestellt wurde.

system_promptstring
Required

Der wiederhergestellte System-Prompt-Text.

current_version_idstring
Required

UUID der wiederhergestellten Version, nun die aktive Version.

current_versioninteger
Required

Versionsnummer der wiederhergestellten Version.

Workflow-Werkzeug-Anhang

Hängen Sie einen veröffentlichten TurboFlow-Workflow als aufrufbares Werkzeug an einen Assistenten an. Der Assistent kann den Workflow während Anrufen aufrufen. Name, Beschreibung und Parameter des Workflows werden zur Laufzeit aus der veröffentlichten Flow-Version ermittelt.

Endpunkt

POST /api/assistants/{assistantId}/tools/workflow

Pfadparameter

path
assistantIdstring
Required

Die UUID des Assistenten.

Body-Parameter

body
flow_idstring
Required

UUID des zu anhängenden veröffentlichten Workflows.

Antwortfelder

configobject
Required

Die eingefügte assistant_tool_configs-Zeile einschließlich id, assistant_id, account_id, tool_type (auf workflow gesetzt), config (enthält flow_id) und is_enabled.

Das doppelte Anhängen desselben Workflows an denselben Assistenten gibt HTTP 409 mit dem Fehler workflow_already_attached zurück.

Workflow-Werkzeug trennen

Entfernen Sie ein Workflow-Werkzeug von einem Assistenten anhand der Konfigurations-ID.

Endpunkt

DELETE /api/assistants/{assistantId}/tools/workflow?config_id={configId}

Abfrageparameter

query
config_idstring
Required

Die zu entfernende Werkzeugkonfigurations-UUID.

Antwortfelder

okboolean
Required

Gibt true zurück, wenn das Workflow-Werkzeug getrennt wurde.

Gemeinsame Antwortstruktur

Die Assistant-Endpunkte verwenden eine konsistente Antwortform mit einem success-Flag und einem ressourcenspezifischen Payload.

Einzelne Endpunkte geben unterschiedliche Payload-Schlüssel zurück, zum Beispiel assistant oder message. Prüfen Sie die Antwortform des jeweiligen Endpunkts, wenn Sie Ihren Client implementieren.