Documentation

Developer docs

Quotes

Price a route across available couriers and persist a server-side quote.

View as Markdown

Quotes

POST /v1/quotes prices a delivery across available courier companies. Each returned quote is persisted and can be used once to create a delivery.

Endpoint

http
POST /v1/quotes

Request body

Field Required Notes
origin Yes Pickup address.
destination Yes Drop-off address.
parcel.weight_grams Yes Parcel weight in grams.
parcel.description No Human-readable description.
parcel.declared_value_aoa No Declared parcel value.

Example

bash
curl -X POST https://entrega.ao/v1/quotes \
  -H "Authorization: Bearer $ENTREGA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "origin": {"address_line": "Rua 21 de Janeiro", "city": "Luanda", "province": "Luanda"},
    "destination": {"address_line": "Rua Marien Nguabi", "city": "Luanda", "province": "Luanda"},
    "parcel": {"weight_grams": 1200, "description": "Photo prints"}
  }'

Response

json
{
  "data": [
    {
      "quote_id": "8c1e1a90-7f08-4b2c-9d5d-9a4ab7f59c0e",
      "valid_until": "2026-04-29T18:05:00Z",
      "company_id": "0b1e6fc0-a821-4be4-8bd7-df56b8c0caa4",
      "company_name": "Luanda Express",
      "company_slug": "luanda-express",
      "fee_aoa": 3500,
      "eta_minutes": 45,
      "require_delivery_pin": false
    }
  ]
}

Important behavior

  • One failing courier does not fail the full request. Entrega returns quotes from couriers that responded successfully.
  • A quote_id locks the courier fee for the exact origin, destination, and parcel payload.
  • If the quote expires, request a new quote before creating the delivery.