Get a single tracking request
curl --request GET \
--url https://api.terminal49.com/v2/tracking_requests/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.terminal49.com/v2/tracking_requests/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.terminal49.com/v2/tracking_requests/{id}', 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.terminal49.com/v2/tracking_requests/{id}",
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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.terminal49.com/v2/tracking_requests/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.terminal49.com/v2/tracking_requests/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.terminal49.com/v2/tracking_requests/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "ba4cb904-827f-4038-8e31-1e92b3356218",
"type": "tracking_request",
"attributes": {
"request_number": "MEDUFR030802",
"request_type": "bill_of_lading",
"scac": "MSCU",
"ref_numbers": [],
"created_at": "2020-04-04T16:13:35-07:00",
"updated_at": "2020-04-04T17:13:35-07:00",
"status": "created",
"failed_reason": null
},
"relationships": {
"tracked_object": {
"data": {
"id": "eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83",
"type": "shipment"
}
}
},
"links": {
"self": "/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218"
}
},
"included": [
{
"id": "eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83",
"type": "shipment",
"attributes": {
"created_at": "2020-04-04T16:13:37-07:00",
"bill_of_lading_number": "MEDUFR030802",
"ref_numbers": [],
"shipping_line_scac": "MSCU",
"shipping_line_name": "Mediterranean Shipping Company",
"port_of_lading_locode": "FRFOS",
"port_of_lading_name": "Fos-Sur-Mer",
"port_of_discharge_locode": "USOAK",
"port_of_discharge_name": "Oakland",
"pod_vessel_name": "MSC ALGECIRAS",
"pod_vessel_imo": "9605243",
"pod_voyage_number": "920A",
"destination_locode": "USOAK",
"destination_name": "Oakland",
"destination_timezone": "America/Los_Angeles",
"destination_ata_at": "2019-06-21T18:46:00-07:00",
"destination_eta_at": null,
"pol_etd_at": null,
"pol_atd_at": "2019-05-24T03:00:00-07:00",
"pol_timezone": "Europe/Paris",
"pod_eta_at": null,
"pod_ata_at": "2019-06-21T18:46:00-07:00",
"pod_timezone": "America/Los_Angeles"
},
"relationships": {
"port_of_lading": {
"data": {
"id": "6d8c6c29-72a6-49ad-87b7-fd045f202212",
"type": "port"
}
},
"port_of_discharge": {
"data": {
"id": "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7",
"type": "port"
}
},
"pod_terminal": {
"data": null
},
"destination": {
"data": {
"id": "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7",
"type": "port"
}
},
"containers": {
"data": [
{
"id": "11c1fa10-52a5-48e2-82f4-5523756b3d0f",
"type": "container"
}
]
}
},
"links": {
"self": "/v2/shipments/eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83"
}
}
]
}Tracking Requests
Get a tracking request
Retrieve a single tracking request from the Terminal49 API by ID, including its current status, failure reason, retry count, and associated shipment ID.
GET
/
tracking_requests
/
{id}
Get a single tracking request
curl --request GET \
--url https://api.terminal49.com/v2/tracking_requests/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.terminal49.com/v2/tracking_requests/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.terminal49.com/v2/tracking_requests/{id}', 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.terminal49.com/v2/tracking_requests/{id}",
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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.terminal49.com/v2/tracking_requests/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.terminal49.com/v2/tracking_requests/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.terminal49.com/v2/tracking_requests/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "ba4cb904-827f-4038-8e31-1e92b3356218",
"type": "tracking_request",
"attributes": {
"request_number": "MEDUFR030802",
"request_type": "bill_of_lading",
"scac": "MSCU",
"ref_numbers": [],
"created_at": "2020-04-04T16:13:35-07:00",
"updated_at": "2020-04-04T17:13:35-07:00",
"status": "created",
"failed_reason": null
},
"relationships": {
"tracked_object": {
"data": {
"id": "eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83",
"type": "shipment"
}
}
},
"links": {
"self": "/v2/tracking_requests/ba4cb904-827f-4038-8e31-1e92b3356218"
}
},
"included": [
{
"id": "eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83",
"type": "shipment",
"attributes": {
"created_at": "2020-04-04T16:13:37-07:00",
"bill_of_lading_number": "MEDUFR030802",
"ref_numbers": [],
"shipping_line_scac": "MSCU",
"shipping_line_name": "Mediterranean Shipping Company",
"port_of_lading_locode": "FRFOS",
"port_of_lading_name": "Fos-Sur-Mer",
"port_of_discharge_locode": "USOAK",
"port_of_discharge_name": "Oakland",
"pod_vessel_name": "MSC ALGECIRAS",
"pod_vessel_imo": "9605243",
"pod_voyage_number": "920A",
"destination_locode": "USOAK",
"destination_name": "Oakland",
"destination_timezone": "America/Los_Angeles",
"destination_ata_at": "2019-06-21T18:46:00-07:00",
"destination_eta_at": null,
"pol_etd_at": null,
"pol_atd_at": "2019-05-24T03:00:00-07:00",
"pol_timezone": "Europe/Paris",
"pod_eta_at": null,
"pod_ata_at": "2019-06-21T18:46:00-07:00",
"pod_timezone": "America/Los_Angeles"
},
"relationships": {
"port_of_lading": {
"data": {
"id": "6d8c6c29-72a6-49ad-87b7-fd045f202212",
"type": "port"
}
},
"port_of_discharge": {
"data": {
"id": "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7",
"type": "port"
}
},
"pod_terminal": {
"data": null
},
"destination": {
"data": {
"id": "42d1ba3a-f4b8-431d-a6fe-49fd748a59e7",
"type": "port"
}
},
"containers": {
"data": [
{
"id": "11c1fa10-52a5-48e2-82f4-5523756b3d0f",
"type": "container"
}
]
}
},
"links": {
"self": "/v2/shipments/eb6f218a-0b4a-47f9-8ef9-759aa5e0ea83"
}
}
]
}Authorizations
Use a Terminal49 API key in the Authorization header with the Token prefix.
Authorization: Token YOUR_API_KEY
Path Parameters
Tracking Request ID
Query Parameters
Comma delimited list of relations to include. 'tracked_object' is included by default.
Was this page helpful?
⌘I