Skip to main content
POST
/
bridge
/
api
/
v1
/
workspaces
/
{workspaceId}
/
leadscout
/
conversations
/
{conversationId}
/
handoff
Request a manual handoff of a LeadScout conversation to internal users
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": "<string>"
    }
  ],
  "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": "<string>" }],
    "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: '<string>'}],
    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' => '<string>'
        ]
    ],
    '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\": \"<string>\"\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\": \"<string>\"\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\": \"<string>\"\n    }\n  ],\n  \"handoffMessages\": [\n    \"<string>\"\n  ],\n  \"includeAiLeadSummary\": false\n}"

response = http.request(request)
puts response.read_body
{
  "trackingId": "<string>",
  "conversationId": "<string>",
  "status": "<string>",
  "assignees": [
    {
      "identifier": "<string>"
    }
  ]
}
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>",
      "input": "<unknown>",
      "ctx": {}
    }
  ]
}

Authorizations

x-api-key
string
header
required

Copy the API key as provided by the Bridge Console.

Path Parameters

workspaceId
string<uuid>
required

Unique identifier of the workspace (UUID v4).

conversationId
string
required

Identifier of the conversation to hand off.

Body

application/json

Request body for a LeadScout manual handoff.

assignees
HandoffAssignee · object[]
required

Internal users to hand the conversation off to. At least one is required.

Minimum array length: 1
handoffMessages
string[]

Optional message bodies posted as part of the handoff.

includeAiLeadSummary
boolean
default:false

When true, the handoff message should include an AI-generated summary of the lead.

Response

Successful Response

Response body acknowledging an accepted handoff request.

trackingId
string
required

Correlation id generated for this handoff request.

conversationId
string
required

The conversation the handoff targets.

status
string
required

Acceptance status of the handoff request.

Example:

"ACCEPTED"

assignees
HandoffAssignee · object[]
required

Echo of the assignees received in the request.