curl --request PATCH \
--url https://api.catenatelematics.com/v2/visibility/loads/{load_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"estimated_arrival_at": "2026-08-17T08:00:00Z",
"vehicle": {
"tsp_id": "TRUCK-2210",
"tsp_source_name": "motive"
}
}
'import requests
url = "https://api.catenatelematics.com/v2/visibility/loads/{load_id}"
payload = {
"estimated_arrival_at": "2026-08-17T08:00:00Z",
"vehicle": {
"tsp_id": "TRUCK-2210",
"tsp_source_name": "motive"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
estimated_arrival_at: '2026-08-17T08:00:00Z',
vehicle: {tsp_id: 'TRUCK-2210', tsp_source_name: 'motive'}
})
};
fetch('https://api.catenatelematics.com/v2/visibility/loads/{load_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.catenatelematics.com/v2/visibility/loads/{load_id}"
payload := strings.NewReader("{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}require 'uri'
require 'net/http'
url = URI("https://api.catenatelematics.com/v2/visibility/loads/{load_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.patch("https://api.catenatelematics.com/v2/visibility/loads/{load_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.catenatelematics.com/v2/visibility/loads/{load_id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.catenatelematics.com/v2/visibility/loads/{load_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'estimated_arrival_at' => '2026-08-17T08:00:00Z',
'vehicle' => [
'tsp_id' => 'TRUCK-2210',
'tsp_source_name' => 'motive'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"load_ref": "<string>",
"estimated_departure_at": "2023-11-07T05:31:56Z",
"estimated_arrival_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"carrier": {
"scac": "<string>",
"dot_number": "<string>",
"mc_number": "<string>"
},
"vehicle": {
"vin": "<string>",
"license_plate_number": "<string>",
"license_plate_region": "<string>",
"tsp_id": "<string>",
"tsp_source_name": "ada"
},
"driver": {
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"email": "jsmith@example.com",
"tsp_id": "<string>",
"tsp_source_name": "ada"
},
"stops": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 123,
"point": {
"type": "Point",
"coordinates": {
"[0]": 123,
"[1]": 123
},
"bbox": {
"[0]": 123,
"[1]": 123,
"[2]": 123,
"[3]": 123
}
},
"radius_meters": 123,
"stop_type": "origin",
"name": "<string>",
"estimated_arrival_at": "2023-11-07T05:31:56Z",
"estimated_departure_at": "2023-11-07T05:31:56Z",
"arrived_at": "2023-11-07T05:31:56Z",
"departed_at": "2023-11-07T05:31:56Z"
}
]
}{
"code": 400,
"message": "Bad Request",
"detail": "<string>"
}{
"code": 401,
"message": "Unauthorized",
"detail": "<string>"
}{
"code": 403,
"message": "Forbidden",
"detail": "<string>"
}{
"code": 404,
"message": "Not Found",
"detail": "<string>"
}{
"code": 405,
"message": "Method Not Allowed",
"detail": "<string>"
}{
"code": 409,
"message": "Conflict",
"detail": "<string>"
}{
"code": 422,
"message": "Invalid Request Body",
"detail": [
{
"path": "<string>",
"input": "<string>",
"message": "<string>",
"error_type": "<string>"
}
]
}{
"code": 429,
"message": "Too Many Requests",
"detail": {
"retry_after_seconds": 123,
"message": "<string>"
}
}{
"message": "Internal Server Error"
}{
"code": 501,
"message": "Not Implemented",
"detail": "<string>"
}Update Load
Update a load owned by the authenticated organization.
curl --request PATCH \
--url https://api.catenatelematics.com/v2/visibility/loads/{load_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"estimated_arrival_at": "2026-08-17T08:00:00Z",
"vehicle": {
"tsp_id": "TRUCK-2210",
"tsp_source_name": "motive"
}
}
'import requests
url = "https://api.catenatelematics.com/v2/visibility/loads/{load_id}"
payload = {
"estimated_arrival_at": "2026-08-17T08:00:00Z",
"vehicle": {
"tsp_id": "TRUCK-2210",
"tsp_source_name": "motive"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
estimated_arrival_at: '2026-08-17T08:00:00Z',
vehicle: {tsp_id: 'TRUCK-2210', tsp_source_name: 'motive'}
})
};
fetch('https://api.catenatelematics.com/v2/visibility/loads/{load_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.catenatelematics.com/v2/visibility/loads/{load_id}"
payload := strings.NewReader("{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}require 'uri'
require 'net/http'
url = URI("https://api.catenatelematics.com/v2/visibility/loads/{load_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.patch("https://api.catenatelematics.com/v2/visibility/loads/{load_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.catenatelematics.com/v2/visibility/loads/{load_id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"estimated_arrival_at\": \"2026-08-17T08:00:00Z\",\n \"vehicle\": {\n \"tsp_id\": \"TRUCK-2210\",\n \"tsp_source_name\": \"motive\"\n }\n}", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.catenatelematics.com/v2/visibility/loads/{load_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'estimated_arrival_at' => '2026-08-17T08:00:00Z',
'vehicle' => [
'tsp_id' => 'TRUCK-2210',
'tsp_source_name' => 'motive'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"load_ref": "<string>",
"estimated_departure_at": "2023-11-07T05:31:56Z",
"estimated_arrival_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"carrier": {
"scac": "<string>",
"dot_number": "<string>",
"mc_number": "<string>"
},
"vehicle": {
"vin": "<string>",
"license_plate_number": "<string>",
"license_plate_region": "<string>",
"tsp_id": "<string>",
"tsp_source_name": "ada"
},
"driver": {
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"email": "jsmith@example.com",
"tsp_id": "<string>",
"tsp_source_name": "ada"
},
"stops": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 123,
"point": {
"type": "Point",
"coordinates": {
"[0]": 123,
"[1]": 123
},
"bbox": {
"[0]": 123,
"[1]": 123,
"[2]": 123,
"[3]": 123
}
},
"radius_meters": 123,
"stop_type": "origin",
"name": "<string>",
"estimated_arrival_at": "2023-11-07T05:31:56Z",
"estimated_departure_at": "2023-11-07T05:31:56Z",
"arrived_at": "2023-11-07T05:31:56Z",
"departed_at": "2023-11-07T05:31:56Z"
}
]
}{
"code": 400,
"message": "Bad Request",
"detail": "<string>"
}{
"code": 401,
"message": "Unauthorized",
"detail": "<string>"
}{
"code": 403,
"message": "Forbidden",
"detail": "<string>"
}{
"code": 404,
"message": "Not Found",
"detail": "<string>"
}{
"code": 405,
"message": "Method Not Allowed",
"detail": "<string>"
}{
"code": 409,
"message": "Conflict",
"detail": "<string>"
}{
"code": 422,
"message": "Invalid Request Body",
"detail": [
{
"path": "<string>",
"input": "<string>",
"message": "<string>",
"error_type": "<string>"
}
]
}{
"code": 429,
"message": "Too Many Requests",
"detail": {
"retry_after_seconds": 123,
"message": "<string>"
}
}{
"message": "Internal Server Error"
}{
"code": 501,
"message": "Not Implemented",
"detail": "<string>"
}carrier, vehicle and driver, the fields you leave out keep their value, and null clears them. The load reference and stops cannot be edited.Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The unique identifier of the load
Body
Load update model. Only the fields sent are changed; the load reference and the journey's stops cannot be edited.
When the load is expected to depart the origin. Must include a UTC offset. Cannot be null.
When the load is expected to arrive at the destination. Must include a UTC offset. Cannot be null.
The carrier fields to change on a load
Show child attributes
Show child attributes
The vehicle fields to change on a load
Show child attributes
Show child attributes
The driver fields to change on a load
Show child attributes
Show child attributes
Response
Successful Response
Load read model.
The partner's own unique reference for this load (e.g. a load or BOL number)
255When the load is expected to depart the origin. Must include a UTC offset.
When the load is expected to arrive at the destination. Must include a UTC offset.
The ID of the partner that owns this load
When the load was created
When the load last changed
The carrier assigned to a load. Send whichever identifiers you know.
Show child attributes
Show child attributes
The vehicle assigned to a load. Send whichever identifiers you know.
Show child attributes
Show child attributes
The driver assigned to a load. Send whichever details you know.
Show child attributes
Show child attributes
The journey in travel order. Sequence 0 is the origin and the highest sequence is the destination.
Show child attributes
Show child attributes
Was this page helpful?