API reference
All endpoints use the same URLs. Choose the logistics provider with the carrier field (body or query). One Bearer token works for every supported carrier.
Request pickup
After a shipment exists, call this endpoint to request a courier pickup at the sender address. EkspedisiKu forwards the request to the carrier upstream.
Currently supported for lion_parcel only. Lalamove is on-demand delivery — no separate pickup API.
Required: pickup.shipment_ids. Optional: pickup.start_at and pickup.end_at (dd/mm/yyyy HH:mm).
POST http://localhost/api/pickup
application/json
POST http://localhost/api/pickup
Content-Type: application/json
Authorization: Bearer <token>
{
"pickup": {
"shipment_ids": [
"C1RFSDDV",
"C1ZIHLYJ"
],
"start_at": "06/10/2026 10:48",
"end_at": "06/10/2026 12:48"
}
}
Response is normalized by EkspedisiKu. For compatibility, EkspedisiKu also accepts legacy Lion fields: shipment_ids, pickup_start_date, pickup_end_date.
Example response
application/json
{
"success": true,
"carrier": { "id": "lion_parcel", "label": "Lion Parcel" },
"message": "OK",
"data": {
"shipment_ids": ["C1RFSDDV", "C1ZIHLYJ"],
"window": { "start_at": "20/04/2026 10:48", "end_at": "20/04/2026 12:48" },
"results": [
{ "shipment_id": "C1RFSDDV", "success": true },
{ "shipment_id": "C1ZIHLYJ", "success": true }
]
}
}