Carriers API
The Carriers API provides endpoints for managing carrier configurations and integrations.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/carriers | List all carriers |
| GET | /api/carriers/configured | List configured carriers |
| GET | /api/carriers/lookups | Get carrier lookups |
| POST | /api/carriers/configure | Configure a carrier |
| GET | /api/carriers/{carrierId} | Get carrier details |
| PATCH | /api/carriers/{carrierId} | Update carrier |
| DELETE | /api/carriers/{carrierId} | Remove carrier |
| GET | /api/carriers/contacts | List carrier contacts |
| POST | /api/carriers/contacts | Add carrier contact |
List All Carriers
Get all available carriers.
GET /api/carriers
Response
{
"data": [
{
"guid": "carrier-uuid",
"name": "Express Delivery",
"code": "EXPRESS",
"type": "courier",
"isConfigured": true,
"isActive": true
},
{
"guid": "carrier-uuid-2",
"name": "Standard Shipping",
"code": "STANDARD",
"type": "freight",
"isConfigured": false,
"isActive": false
}
],
"success": true
}
List Configured Carriers
Get carriers configured for your business.
GET /api/carriers/configured
Response
{
"data": [
{
"guid": "carrier-uuid",
"name": "Express Delivery",
"code": "EXPRESS",
"type": "courier",
"isActive": true,
"accountNumber": "ACC123456",
"serviceLevels": [
{
"code": "standard",
"name": "Standard Delivery"
},
{
"code": "express",
"name": "Express Delivery"
}
]
}
],
"success": true
}
Get Carrier Lookups
Get carrier options and lookup data.
GET /api/carriers/lookups
Response
{
"data": {
"carrierTypes": [
{ "code": "courier", "name": "Courier Service" },
{ "code": "freight", "name": "Freight Carrier" },
{ "code": "lastmile", "name": "Last Mile Delivery" }
],
"serviceLevels": [
{ "code": "standard", "name": "Standard" },
{ "code": "express", "name": "Express" },
{ "code": "sameday", "name": "Same Day" }
]
},
"success": true
}
Configure Carrier
Set up a carrier for your business.
POST /api/carriers/configure
Request Body
{
"carrierId": "carrier-uuid",
"accountNumber": "ACC123456",
"apiKey": "your-api-key",
"apiSecret": "your-api-secret",
"testMode": false,
"defaultServiceLevel": "standard"
}
Response
{
"data": {
"guid": "carrier-uuid",
"name": "Express Delivery",
"isConfigured": true,
"isActive": true
},
"success": true
}
Get Carrier Details
Retrieve details for a specific carrier.
GET /api/carriers/{carrierId}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| carrierId | uuid | Carrier identifier |
Response
{
"data": {
"guid": "carrier-uuid",
"name": "Express Delivery",
"code": "EXPRESS",
"type": "courier",
"isActive": true,
"configuration": {
"accountNumber": "ACC123456",
"defaultServiceLevel": "standard"
},
"serviceLevels": [
{
"code": "standard",
"name": "Standard Delivery",
"estimatedDays": "3-5"
},
{
"code": "express",
"name": "Express Delivery",
"estimatedDays": "1-2"
}
],
"features": [
"tracking",
"signature",
"insurance"
]
},
"success": true
}
Update Carrier
Update carrier configuration.
PATCH /api/carriers/{carrierId}
Request Body
{
"isActive": true,
"defaultServiceLevel": "express",
"apiKey": "updated-api-key"
}
Response
{
"data": {
"guid": "carrier-uuid",
"name": "Express Delivery",
"isActive": true
},
"success": true
}
Remove Carrier
Remove a carrier configuration.
DELETE /api/carriers/{carrierId}
Response
{
"data": {
"guid": "carrier-uuid"
},
"success": true
}
List Carrier Contacts
Get contacts for carrier relationships.
GET /api/carriers/contacts
Response
{
"data": [
{
"guid": "contact-uuid",
"name": "John Smith",
"email": "john@carrier.com",
"phone": "+1234567890",
"role": "Account Manager",
"carrierId": "carrier-uuid"
}
],
"success": true
}
Add Carrier Contact
Add a contact for carrier communication.
POST /api/carriers/contacts
Request Body
{
"carrierId": "carrier-uuid",
"name": "Jane Doe",
"email": "jane@carrier.com",
"phone": "+0987654321",
"role": "Support Representative"
}
Response
{
"data": {
"guid": "contact-uuid",
"name": "Jane Doe",
"email": "jane@carrier.com"
},
"success": true
}
Error Responses
404 Not Found
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Carrier not found"
}
}
400 Bad Request
{
"success": false,
"error": {
"code": "CONFIGURATION_ERROR",
"message": "Invalid carrier credentials"
}
}