Skip to main content
POST
/
api
/
v1
/
bridge_phrases
/
Typescript (SDK)
import { SyllableSDK } from "syllable-sdk";

const syllableSDK = new SyllableSDK({
  apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});

async function run() {
  const result = await syllableSDK.bridgePhrases.create({
    name: "Default Bridge Phrases",
    description: "Standard hold phrases for inbound line.",
    config: {
      phrases: {
        messages: [
          "One moment, please.",
          "Let me check on that for you.",
        ],
        localized: {
          "es-US": {
            messages: [
              "Un momento, por favor.",
            ],
          },
          "fr-FR": {
            messages: [
              "Un instant, je vous en prie.",
            ],
          },
        },
      },
      tools: [
        {
          toolName: "<value>",
          phrases: {
            messages: [
              "One moment, please.",
              "Let me check on that for you.",
            ],
            localized: {
              "es-US": {
                messages: [
                  "Un momento, por favor.",
                ],
              },
              "fr-FR": {
                messages: [
                  "Un instant, je vous en prie.",
                ],
              },
            },
          },
        },
      ],
      randomizeBridgePhrases: true,
    },
  });

  console.log(result);
}

run();
curl --request POST \
--url https://api.syllable.cloud/api/v1/bridge_phrases/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"description": "Standard hold phrases for inbound line.",
"config": {
"phrases": {
"messages": [
"<string>"
],
"localized": {
"es-US": {
"messages": [
"Un momento, por favor."
]
},
"fr-FR": {
"messages": [
"Un instant, je vous en prie."
]
}
}
},
"tools": [
{
"tool_name": "<string>",
"phrases": {
"messages": [
"<string>"
],
"localized": {
"es-US": {
"messages": [
"Un momento, por favor."
]
},
"fr-FR": {
"messages": [
"Un instant, je vous en prie."
]
}
}
}
}
],
"smart_turn_timeout_seconds": 15.125,
"randomize_bridge_phrases": false
}
}
'
import requests

url = "https://api.syllable.cloud/api/v1/bridge_phrases/"

payload = {
"name": "<string>",
"description": "Standard hold phrases for inbound line.",
"config": {
"phrases": {
"messages": ["<string>"],
"localized": {
"es-US": { "messages": ["Un momento, por favor."] },
"fr-FR": { "messages": ["Un instant, je vous en prie."] }
}
},
"tools": [
{
"tool_name": "<string>",
"phrases": {
"messages": ["<string>"],
"localized": {
"es-US": { "messages": ["Un momento, por favor."] },
"fr-FR": { "messages": ["Un instant, je vous en prie."] }
}
}
}
],
"smart_turn_timeout_seconds": 15.125,
"randomize_bridge_phrases": False
}
}
headers = {
"Syllable-API-Key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Syllable-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: 'Standard hold phrases for inbound line.',
config: {
phrases: {
messages: ['<string>'],
localized: {
'es-US': {messages: ['Un momento, por favor.']},
'fr-FR': {messages: ['Un instant, je vous en prie.']}
}
},
tools: [
{
tool_name: '<string>',
phrases: {
messages: ['<string>'],
localized: {
'es-US': {messages: ['Un momento, por favor.']},
'fr-FR': {messages: ['Un instant, je vous en prie.']}
}
}
}
],
smart_turn_timeout_seconds: 15.125,
randomize_bridge_phrases: false
}
})
};

fetch('https://api.syllable.cloud/api/v1/bridge_phrases/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.syllable.cloud/api/v1/bridge_phrases/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => 'Standard hold phrases for inbound line.',
'config' => [
'phrases' => [
'messages' => [
'<string>'
],
'localized' => [
'es-US' => [
'messages' => [
'Un momento, por favor.'
]
],
'fr-FR' => [
'messages' => [
'Un instant, je vous en prie.'
]
]
]
],
'tools' => [
[
'tool_name' => '<string>',
'phrases' => [
'messages' => [
'<string>'
],
'localized' => [
'es-US' => [
'messages' => [
'Un momento, por favor.'
]
],
'fr-FR' => [
'messages' => [
'Un instant, je vous en prie.'
]
]
]
]
]
],
'smart_turn_timeout_seconds' => 15.125,
'randomize_bridge_phrases' => false
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Syllable-API-Key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

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

func main() {

url := "https://api.syllable.cloud/api/v1/bridge_phrases/"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"Standard hold phrases for inbound line.\",\n \"config\": {\n \"phrases\": {\n \"messages\": [\n \"<string>\"\n ],\n \"localized\": {\n \"es-US\": {\n \"messages\": [\n \"Un momento, por favor.\"\n ]\n },\n \"fr-FR\": {\n \"messages\": [\n \"Un instant, je vous en prie.\"\n ]\n }\n }\n },\n \"tools\": [\n {\n \"tool_name\": \"<string>\",\n \"phrases\": {\n \"messages\": [\n \"<string>\"\n ],\n \"localized\": {\n \"es-US\": {\n \"messages\": [\n \"Un momento, por favor.\"\n ]\n },\n \"fr-FR\": {\n \"messages\": [\n \"Un instant, je vous en prie.\"\n ]\n }\n }\n }\n }\n ],\n \"smart_turn_timeout_seconds\": 15.125,\n \"randomize_bridge_phrases\": false\n }\n}")

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

req.Header.Add("Syllable-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")

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

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

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.syllable.cloud/api/v1/bridge_phrases/")
.header("Syllable-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"Standard hold phrases for inbound line.\",\n \"config\": {\n \"phrases\": {\n \"messages\": [\n \"<string>\"\n ],\n \"localized\": {\n \"es-US\": {\n \"messages\": [\n \"Un momento, por favor.\"\n ]\n },\n \"fr-FR\": {\n \"messages\": [\n \"Un instant, je vous en prie.\"\n ]\n }\n }\n },\n \"tools\": [\n {\n \"tool_name\": \"<string>\",\n \"phrases\": {\n \"messages\": [\n \"<string>\"\n ],\n \"localized\": {\n \"es-US\": {\n \"messages\": [\n \"Un momento, por favor.\"\n ]\n },\n \"fr-FR\": {\n \"messages\": [\n \"Un instant, je vous en prie.\"\n ]\n }\n }\n }\n }\n ],\n \"smart_turn_timeout_seconds\": 15.125,\n \"randomize_bridge_phrases\": false\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.syllable.cloud/api/v1/bridge_phrases/")

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

request = Net::HTTP::Post.new(url)
request["Syllable-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"Standard hold phrases for inbound line.\",\n \"config\": {\n \"phrases\": {\n \"messages\": [\n \"<string>\"\n ],\n \"localized\": {\n \"es-US\": {\n \"messages\": [\n \"Un momento, por favor.\"\n ]\n },\n \"fr-FR\": {\n \"messages\": [\n \"Un instant, je vous en prie.\"\n ]\n }\n }\n },\n \"tools\": [\n {\n \"tool_name\": \"<string>\",\n \"phrases\": {\n \"messages\": [\n \"<string>\"\n ],\n \"localized\": {\n \"es-US\": {\n \"messages\": [\n \"Un momento, por favor.\"\n ]\n },\n \"fr-FR\": {\n \"messages\": [\n \"Un instant, je vous en prie.\"\n ]\n }\n }\n }\n }\n ],\n \"smart_turn_timeout_seconds\": 15.125,\n \"randomize_bridge_phrases\": false\n }\n}"

response = http.request(request)
puts response.read_body
{
  "name": "<string>",
  "id": 123,
  "updated_at": "2023-11-07T05:31:56Z",
  "last_updated_by": "<string>",
  "description": "Standard hold phrases for inbound line.",
  "config": {
    "phrases": {
      "messages": [
        "<string>"
      ],
      "localized": {
        "es-US": {
          "messages": [
            "Un momento, por favor."
          ]
        },
        "fr-FR": {
          "messages": [
            "Un instant, je vous en prie."
          ]
        }
      }
    },
    "tools": [
      {
        "tool_name": "<string>",
        "phrases": {
          "messages": [
            "<string>"
          ],
          "localized": {
            "es-US": {
              "messages": [
                "Un momento, por favor."
              ]
            },
            "fr-FR": {
              "messages": [
                "Un instant, je vous en prie."
              ]
            }
          }
        }
      }
    ],
    "smart_turn_timeout_seconds": 15.125,
    "randomize_bridge_phrases": false
  },
  "edit_comments": "Added Spanish overrides for the transfer tool.",
  "agents_info": [
    {
      "id": 1,
      "name": "Test Agent"
    }
  ]
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}

Authorizations

Syllable-API-Key
string
header
required

Body

application/json

Request model to create a bridge phrases config.

name
string
required

The name of the bridge phrases config.

Example:

"Default Bridge Phrases"

description
string | null

Description of the bridge phrases config.

Example:

"Standard hold phrases for inbound line."

config
BridgePhrasesConfigPayload · object

Default phrases plus per-tool overrides.

Response

Successful Response

Response model for bridge phrases operations.

A bridge phrases config is a named, sub-org-scoped collection of default bridge phrases plus optional per-tool and per-language overrides that can be linked to an agent. For more information, see Console docs.

name
string
required

The name of the bridge phrases config.

Example:

"Default Bridge Phrases"

id
integer
required

The ID of the bridge phrases config to update.

Example:

1

updated_at
string<date-time>
required

Timestamp of the last update.

Example:

"2026-07-02T00:00:00Z"

last_updated_by
string
required

Email of the user who last updated this config.

Example:

"user@mail.com"

description
string | null

Description of the bridge phrases config.

Example:

"Standard hold phrases for inbound line."

config
BridgePhrasesConfigPayload · object

Default phrases plus per-tool overrides.

edit_comments
string | null

Comments for the most recent edit.

Example:

"Added Spanish overrides for the transfer tool."

agents_info
BridgePhrasesAgentInfo · object[] | null

IDs and names of the agents linked to this bridge phrases config.

Example:
[{ "id": 1, "name": "Test Agent" }]