curl --request POST \
--url https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assignees": [
{
"identifier": "u-123",
"identifierType": "ID"
}
],
"handoffMessages": [
"<string>"
],
"includeAiLeadSummary": false
}
'import requests
url = "https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff"
payload = {
"assignees": [
{
"identifier": "u-123",
"identifierType": "ID"
}
],
"handoffMessages": ["<string>"],
"includeAiLeadSummary": False
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
assignees: [{identifier: 'u-123', identifierType: 'ID'}],
handoffMessages: ['<string>'],
includeAiLeadSummary: false
})
};
fetch('https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff', 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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff",
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([
'assignees' => [
[
'identifier' => 'u-123',
'identifierType' => 'ID'
]
],
'handoffMessages' => [
'<string>'
],
'includeAiLeadSummary' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff"
payload := strings.NewReader("{\n \"assignees\": [\n {\n \"identifier\": \"u-123\",\n \"identifierType\": \"ID\"\n }\n ],\n \"handoffMessages\": [\n \"<string>\"\n ],\n \"includeAiLeadSummary\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assignees\": [\n {\n \"identifier\": \"u-123\",\n \"identifierType\": \"ID\"\n }\n ],\n \"handoffMessages\": [\n \"<string>\"\n ],\n \"includeAiLeadSummary\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assignees\": [\n {\n \"identifier\": \"u-123\",\n \"identifierType\": \"ID\"\n }\n ],\n \"handoffMessages\": [\n \"<string>\"\n ],\n \"includeAiLeadSummary\": false\n}"
response = http.request(request)
puts response.read_body{
"trackingId": "<string>",
"conversationId": "<string>",
"status": "ACCEPTED",
"assignees": [
{
"identifier": "u-123",
"identifierType": "ID"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"title": "Too Many Requests",
"status": 429,
"code": "BRIDGE_RATE_LIMIT_0001"
}Request a manual handoff of a LeadScout conversation to internal users
Request a manual handoff of a LeadScout-controlled conversation to one or more internal users.
The request is acknowledged with 202 Accepted; assignment is processed asynchronously.
The response echoes the requested assignees and a tracking id for correlation. Internal-user
resolution (by ID or EMAIL) happens downstream and is not reflected in this response.
curl --request POST \
--url https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assignees": [
{
"identifier": "u-123",
"identifierType": "ID"
}
],
"handoffMessages": [
"<string>"
],
"includeAiLeadSummary": false
}
'import requests
url = "https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff"
payload = {
"assignees": [
{
"identifier": "u-123",
"identifierType": "ID"
}
],
"handoffMessages": ["<string>"],
"includeAiLeadSummary": False
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
assignees: [{identifier: 'u-123', identifierType: 'ID'}],
handoffMessages: ['<string>'],
includeAiLeadSummary: false
})
};
fetch('https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff', 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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff",
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([
'assignees' => [
[
'identifier' => 'u-123',
'identifierType' => 'ID'
]
],
'handoffMessages' => [
'<string>'
],
'includeAiLeadSummary' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff"
payload := strings.NewReader("{\n \"assignees\": [\n {\n \"identifier\": \"u-123\",\n \"identifierType\": \"ID\"\n }\n ],\n \"handoffMessages\": [\n \"<string>\"\n ],\n \"includeAiLeadSummary\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assignees\": [\n {\n \"identifier\": \"u-123\",\n \"identifierType\": \"ID\"\n }\n ],\n \"handoffMessages\": [\n \"<string>\"\n ],\n \"includeAiLeadSummary\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/leadscout/conversations/{conversationId}/handoff")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assignees\": [\n {\n \"identifier\": \"u-123\",\n \"identifierType\": \"ID\"\n }\n ],\n \"handoffMessages\": [\n \"<string>\"\n ],\n \"includeAiLeadSummary\": false\n}"
response = http.request(request)
puts response.read_body{
"trackingId": "<string>",
"conversationId": "<string>",
"status": "ACCEPTED",
"assignees": [
{
"identifier": "u-123",
"identifierType": "ID"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"title": "Too Many Requests",
"status": 429,
"code": "BRIDGE_RATE_LIMIT_0001"
}Authorizations
Copy the API key as provided by the Bridge Console.
Path Parameters
Unique identifier of the workspace (UUID v4).
"b6cf1c4a-2b1e-4e63-8f3e-0f9d1a2a1234"
Unique identifier of the conversation (UUID v4).
"4e362e2b-67b2-4a7e-a9df-e9ecf9141be8"
Body
Request body for a LeadScout manual handoff.
Internal users to hand the conversation off to. At least one is required.
1Show child attributes
Show child attributes
Optional message bodies posted as part of the handoff.
When true, the handoff message should include an AI-generated summary of the lead.
Response
Successful Response
Response body acknowledging an accepted handoff request.
Correlation id generated for this handoff request.
The conversation the handoff targets.
Acceptance status of the handoff request.
"ACCEPTED"
Echo of the assignees received in the request.
Show child attributes
Show child attributes
Was this page helpful?

