curl --request POST \
--url https://api.cargado.com/carrier-relationships/upsert \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"carrierRelationships": [
{
"carrier": {
"dotNumber": "<string>",
"mcNumber": "<string>",
"mxNumber": "<string>",
"rfcNumber": "<string>",
"cvorNumber": "<string>",
"nirNumber": "<string>",
"nscNumber": "<string>",
"externalId": "<string>"
},
"carrierExternalId": "<string>"
}
]
}
'import requests
url = "https://api.cargado.com/carrier-relationships/upsert"
payload = { "carrierRelationships": [
{
"carrier": {
"dotNumber": "<string>",
"mcNumber": "<string>",
"mxNumber": "<string>",
"rfcNumber": "<string>",
"cvorNumber": "<string>",
"nirNumber": "<string>",
"nscNumber": "<string>",
"externalId": "<string>"
},
"carrierExternalId": "<string>"
}
] }
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
carrierRelationships: [
{
carrier: {
dotNumber: '<string>',
mcNumber: '<string>',
mxNumber: '<string>',
rfcNumber: '<string>',
cvorNumber: '<string>',
nirNumber: '<string>',
nscNumber: '<string>',
externalId: '<string>'
},
carrierExternalId: '<string>'
}
]
})
};
fetch('https://api.cargado.com/carrier-relationships/upsert', 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.cargado.com/carrier-relationships/upsert",
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([
'carrierRelationships' => [
[
'carrier' => [
'dotNumber' => '<string>',
'mcNumber' => '<string>',
'mxNumber' => '<string>',
'rfcNumber' => '<string>',
'cvorNumber' => '<string>',
'nirNumber' => '<string>',
'nscNumber' => '<string>',
'externalId' => '<string>'
],
'carrierExternalId' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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.cargado.com/carrier-relationships/upsert"
payload := strings.NewReader("{\n \"carrierRelationships\": [\n {\n \"carrier\": {\n \"dotNumber\": \"<string>\",\n \"mcNumber\": \"<string>\",\n \"mxNumber\": \"<string>\",\n \"rfcNumber\": \"<string>\",\n \"cvorNumber\": \"<string>\",\n \"nirNumber\": \"<string>\",\n \"nscNumber\": \"<string>\",\n \"externalId\": \"<string>\"\n },\n \"carrierExternalId\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("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.cargado.com/carrier-relationships/upsert")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"carrierRelationships\": [\n {\n \"carrier\": {\n \"dotNumber\": \"<string>\",\n \"mcNumber\": \"<string>\",\n \"mxNumber\": \"<string>\",\n \"rfcNumber\": \"<string>\",\n \"cvorNumber\": \"<string>\",\n \"nirNumber\": \"<string>\",\n \"nscNumber\": \"<string>\",\n \"externalId\": \"<string>\"\n },\n \"carrierExternalId\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cargado.com/carrier-relationships/upsert")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"carrierRelationships\": [\n {\n \"carrier\": {\n \"dotNumber\": \"<string>\",\n \"mcNumber\": \"<string>\",\n \"mxNumber\": \"<string>\",\n \"rfcNumber\": \"<string>\",\n \"cvorNumber\": \"<string>\",\n \"nirNumber\": \"<string>\",\n \"nscNumber\": \"<string>\",\n \"externalId\": \"<string>\"\n },\n \"carrierExternalId\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"carrierRelationships": [
{
"id": "<string>",
"organizationId": "<string>",
"carrierOrganizationId": "<string>",
"carrierExternalId": "<string>"
}
]
}{
"message": "Unauthorized"
}Upsert carrier relationships
Create or update carrier relationships and statuses from your TMS to Cargado. If a carrier is not found, the relationship will be null. Returns the relationships in the same order and length as the input.
curl --request POST \
--url https://api.cargado.com/carrier-relationships/upsert \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"carrierRelationships": [
{
"carrier": {
"dotNumber": "<string>",
"mcNumber": "<string>",
"mxNumber": "<string>",
"rfcNumber": "<string>",
"cvorNumber": "<string>",
"nirNumber": "<string>",
"nscNumber": "<string>",
"externalId": "<string>"
},
"carrierExternalId": "<string>"
}
]
}
'import requests
url = "https://api.cargado.com/carrier-relationships/upsert"
payload = { "carrierRelationships": [
{
"carrier": {
"dotNumber": "<string>",
"mcNumber": "<string>",
"mxNumber": "<string>",
"rfcNumber": "<string>",
"cvorNumber": "<string>",
"nirNumber": "<string>",
"nscNumber": "<string>",
"externalId": "<string>"
},
"carrierExternalId": "<string>"
}
] }
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
carrierRelationships: [
{
carrier: {
dotNumber: '<string>',
mcNumber: '<string>',
mxNumber: '<string>',
rfcNumber: '<string>',
cvorNumber: '<string>',
nirNumber: '<string>',
nscNumber: '<string>',
externalId: '<string>'
},
carrierExternalId: '<string>'
}
]
})
};
fetch('https://api.cargado.com/carrier-relationships/upsert', 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.cargado.com/carrier-relationships/upsert",
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([
'carrierRelationships' => [
[
'carrier' => [
'dotNumber' => '<string>',
'mcNumber' => '<string>',
'mxNumber' => '<string>',
'rfcNumber' => '<string>',
'cvorNumber' => '<string>',
'nirNumber' => '<string>',
'nscNumber' => '<string>',
'externalId' => '<string>'
],
'carrierExternalId' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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.cargado.com/carrier-relationships/upsert"
payload := strings.NewReader("{\n \"carrierRelationships\": [\n {\n \"carrier\": {\n \"dotNumber\": \"<string>\",\n \"mcNumber\": \"<string>\",\n \"mxNumber\": \"<string>\",\n \"rfcNumber\": \"<string>\",\n \"cvorNumber\": \"<string>\",\n \"nirNumber\": \"<string>\",\n \"nscNumber\": \"<string>\",\n \"externalId\": \"<string>\"\n },\n \"carrierExternalId\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("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.cargado.com/carrier-relationships/upsert")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"carrierRelationships\": [\n {\n \"carrier\": {\n \"dotNumber\": \"<string>\",\n \"mcNumber\": \"<string>\",\n \"mxNumber\": \"<string>\",\n \"rfcNumber\": \"<string>\",\n \"cvorNumber\": \"<string>\",\n \"nirNumber\": \"<string>\",\n \"nscNumber\": \"<string>\",\n \"externalId\": \"<string>\"\n },\n \"carrierExternalId\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cargado.com/carrier-relationships/upsert")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"carrierRelationships\": [\n {\n \"carrier\": {\n \"dotNumber\": \"<string>\",\n \"mcNumber\": \"<string>\",\n \"mxNumber\": \"<string>\",\n \"rfcNumber\": \"<string>\",\n \"cvorNumber\": \"<string>\",\n \"nirNumber\": \"<string>\",\n \"nscNumber\": \"<string>\",\n \"externalId\": \"<string>\"\n },\n \"carrierExternalId\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"carrierRelationships": [
{
"id": "<string>",
"organizationId": "<string>",
"carrierOrganizationId": "<string>",
"carrierExternalId": "<string>"
}
]
}{
"message": "Unauthorized"
}Authorizations
Body
Show child attributes
Show child attributes
Response
Ok
A carrier relationship represents the relationship between a carrier and an organization, including their onboarding status and whether they can be assigned to freight.
If a carrier relationship is not found, the carrier will be offered an onboarding link but will not be assigned to freight until a relationship is created.
A NEEDS_REVIEW but onboarded carrier still requires manual review prior to being assigned to freight. An ACTIVE but not onboarded carrier can be assigned to freight but the carrier is still offered an onboarding link.
DO_NOT_DISPATCH should be used to block a carrier from being assigned to freight at an organization level. Use freight level rules to block a carrier from being assigned to specific freight.
Show child attributes
Show child attributes

