Who was contacted on a load
curl --request GET \
--url https://agent.lanesurf.com/v1/loads/{id}/outreach \
--header 'Authorization: Bearer <token>'import requests
url = "https://agent.lanesurf.com/v1/loads/{id}/outreach"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://agent.lanesurf.com/v1/loads/{id}/outreach', 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://agent.lanesurf.com/v1/loads/{id}/outreach",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://agent.lanesurf.com/v1/loads/{id}/outreach"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agent.lanesurf.com/v1/loads/{id}/outreach")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://agent.lanesurf.com/v1/loads/{id}/outreach")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"load_id": "<string>",
"outreach": [
{
"session_id": "<string>",
"carrier_name": "<string>",
"channel": "call",
"direction": "outbound",
"status": "<string>",
"contacted_at": "<string>",
"mc": "<string>",
"dot": "<string>",
"rate": 123,
"contact_phone": "<string>",
"contact_email": "<string>"
}
]
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "invalid API key",
"code": "invalid_api_key"
}{
"error": "this API key can't use broker routes",
"code": "wrong_role"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "too many requests for this API key; slow down",
"code": "rate_limited"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "a Lanesurf system behind the API failed; try again later",
"code": "upstream_error"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}Loads API
Load outreach
Every carrier on a load, as the dashboard lists them.
GET
/
v1
/
loads
/
{id}
/
outreach
Who was contacted on a load
curl --request GET \
--url https://agent.lanesurf.com/v1/loads/{id}/outreach \
--header 'Authorization: Bearer <token>'import requests
url = "https://agent.lanesurf.com/v1/loads/{id}/outreach"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://agent.lanesurf.com/v1/loads/{id}/outreach', 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://agent.lanesurf.com/v1/loads/{id}/outreach",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://agent.lanesurf.com/v1/loads/{id}/outreach"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agent.lanesurf.com/v1/loads/{id}/outreach")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://agent.lanesurf.com/v1/loads/{id}/outreach")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"load_id": "<string>",
"outreach": [
{
"session_id": "<string>",
"carrier_name": "<string>",
"channel": "call",
"direction": "outbound",
"status": "<string>",
"contacted_at": "<string>",
"mc": "<string>",
"dot": "<string>",
"rate": 123,
"contact_phone": "<string>",
"contact_email": "<string>"
}
]
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "invalid API key",
"code": "invalid_api_key"
}{
"error": "this API key can't use broker routes",
"code": "wrong_role"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "too many requests for this API key; slow down",
"code": "rate_limited"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "a Lanesurf system behind the API failed; try again later",
"code": "upstream_error"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}Every carrier on the load, as the Lanesurf dashboard’s Book Board lists them: the carriers Lanesurf
contacted (
direction: outbound) and those who reached out or bid (inbound), the channel (call,
email, sms), when, where each stands (status, the dashboard’s label), the rate for carriers who
named one (with its session_id, for accept and decline), and the carrier’s contact.
Use it to tell the person what happened on the load, for example which carriers were emailed or
called. Same access as GET /v1/loads/{id}; other loads answer 404.Authorizations
One key per broker rep or per carrier signup. Keep it secret.
Path Parameters
The load's load_id, or its tms_id, from POST /v1/loads.
Example:
"3f2a9c4e-1d7b-4c55-8a7e-0b9d6e5f1234"