Shipping insurance as code. Insure, void, and claim with simple REST calls.
{
"status": "success",
"data": {
"tracking_number": "1Z999AA10123456784",
"declared_value": 249.99,
"premium": 1.85,
"carrier_id": 53103,
"covered": true
}
}
U-PIC's REST API gives you full control over shipping insurance. Automate coverage, manage claims, and integrate directly into your platform or workflow.
Create a manifest with a single POST to protect packages at time of shipment.
Delete a manifest by tracking number when orders are cancelled or returned.
Submit claims with full claimant and shipment details programmatically.
Look up manifests, check claim status, send affidavits, and upload attachments.
Authenticate with your API key to receive a bearer token. Include the token in the Authorization header on all subsequent requests.
// 1. POST your API key to get a bearer token
POST https://api.u-pic.com/auth
{
"api_key": "your_api_key_here"
}
// 2. Use the token in the Authorization header
Authorization: Bearer {your_token}
All endpoints use the base URL https://api.u-pic.com
Insure a shipment in the language you already use.
// Insure a shipment via U-PIC API
$token = "your_bearer_token";
$data = json_encode([
'carrier_id' => 53103,
'declared_value' => 245.54,
'invoice' => 'UYT-543',
'shipped' => '2026-04-01',
'tracking_number' => '1Z999AA10123456784',
'shipper' => 'Acme Widgets Inc.',
'consignee' => 'Jane Smith',
'client_id' => '776845'
]);
$ch = curl_init("https://api.u-pic.com/manifests");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token
]);
$resp = curl_exec($ch);
curl_close($ch);# Insure a shipment via U-PIC API
import requests
token = "your_bearer_token"
data = {
"carrier_id": 53103,
"declared_value": 245.54,
"invoice": "UYT-543",
"shipped": "2026-04-01",
"tracking_number": "1Z999AA10123456784",
"shipper": "Acme Widgets Inc.",
"consignee": "Jane Smith",
"account": "776845"
}
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
response = requests.post(
"https://api.u-pic.com/manifests",
json=data,
headers=headers
)// Insure a shipment via U-PIC API
var token = "your_bearer_token";
var data = new
{
carrier_id = 53103,
declared_value = 245.54,
invoice = "UYT-543",
shipped = "2026-04-01",
tracking = "1Z999AA10123456784",
shipper = "Acme Widgets Inc.",
consignee = "Jane Smith",
account = "776845"
};
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
var json = JsonSerializer.Serialize(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync(
"https://api.u-pic.com/manifests", content
);Try it now. Pick an endpoint, hit Send, and see a sample response.
{
"carrier_id": 53103,
"declared_value": 245.54,
"invoice": "UYT-543",
"shipped": "2026-04-01",
"tracking_number": "1Z999AA10123456784",
"shipper": "Acme Widgets Inc.",
"consignee": "Jane Smith",
"client_id": "776845"
}
Click "Send Request" to see the response
A sample collection with dummy access keys and example payloads for demonstration purposes only. Requests are not functional and will not connect to live systems. Use it to explore the API structure and see how requests are formatted before you apply for real credentials.
Our engineering team is available to support your integration from kickoff to production. Whether you need help with authentication, payload structure, or edge cases, we're here.
Get API credentials and start building. Our team can have you up and running in days, not weeks.