Predictable resources under /api/v1, clear error codes and no surprises.
Short-lived JWT access tokens, rotating refresh tokens and reuse detection.
Retry safely: an idempotency key prevents duplicate shipments and charges.
Get notified on every shipment status change instead of polling.
Live endpoints are available to early-access partners. Endpoints in development are shown so you can plan your integration.
| Method | Endpoint | Description | Status |
|---|---|---|---|
| POST | /api/v1/auth/register |
Create a merchant account | Live |
| POST | /api/v1/auth/login |
Get access and refresh tokens | Live |
| POST | /api/v1/auth/refresh |
Rotate tokens | Live |
| GET | /api/v1/auth/me |
Current merchant profile | Live |
| GET | /api/v1/merchant-addresses/type/{type} |
List sender or recipient addresses | Live |
| POST | /api/v1/merchant-addresses/type/{type} |
Create an address | Live |
| POST | /api/v1/rates |
Compare carrier rates for a parcel | In development |
| POST | /api/v1/shipments |
Create a shipment and buy a label | In development |
| GET | /api/v1/shipments/{id}/tracking |
Normalized tracking timeline | In development |
| POST | /api/v1/ai/shipment-drafts |
Turn free text into a shipment draft | Planned |
| EVENT | shipment.status_changed |
Webhook on every status change | Planned |
Authenticate, then create a shipment. The shipments endpoint is in development; the request shape below is the planned contract.
curl -X POST https://api.kodlagonder.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "ops@yourstore.com",
"password": "••••••••"
}'
# 200 OK
{
"user": { "id": 42, "companyName": "Your Store" },
"tokens": { "accessToken": "eyJhbGciOi…", "tokenType": "Bearer" }
}
curl -X POST https://api.kodlagonder.com/api/v1/shipments \
-H "Authorization: Bearer $KODLAGONDER_TOKEN" \
-H "Idempotency-Key: order-10482" \
-H "Content-Type: application/json" \
-d '{
"from": { "addressId": 12 },
"to": { "name": "Emma Schneider", "city": "Berlin", "country": "DE" },
"parcel": { "weightKg": 2.5, "lengthCm": 30, "widthCm": 20, "heightCm": 15 },
"items": [{ "description": "Ceramic mugs", "quantity": 4, "valueEur": 48 }],
"carrier": "auto"
}'
# 201 Created
{
"id": "shp_8KQ2…",
"carrier": "selected-by-ai",
"label": { "format": "PDF", "url": "https://…" },
"customs": { "hsCode": "6912.00", "incoterm": "DAP" },
"status": "LABEL_CREATED"
}
Join the early-access program and help shape the AI-native shipping platform.