PUT/v2/cart/{id}

Add passengers

Replace the passenger list. Ages are measured on the departure date, not today.

Bearer tokenAuthority: B2C_CART_UPDATEhttps://booking.aerolink.dev

Ownership is checked first. A cart that does not exist and a cart that belongs to someone else return the same 404, so ids cannot be probed. Passenger count and types must match what the cart was priced for. Note the 406 status on age-band failures — it is not 400.

cURL

bash
curl -X PUT https://booking.aerolink.dev/v2/cart/66e1... \
  -H "Authorization: Bearer eyJ..." \
  -H "Content-Type: application/json" \
  -d '{"passengers":[{"type":"ADT","givenName":"RAHIM","surname":"UDDIN","gender":"MALE","dateOfBirth":"1990-05-12"}]}'

Path parameters

idstring
required

Cart id

Request

JSON
{
  "passengers": [
    {
      "type": "ADT",
      "givenName": "RAHIM",
      "surname": "UDDIN",
      "gender": "MALE",
      "dateOfBirth": "1990-05-12",
      "email": "customer@example.com",
      "phoneNo": "+8801700000000"
    }
  ]
}

Body fields

passengersarray
required

Full passenger list. Replaces whatever the cart held.

passengerTypeenum
required

ADT, CHLD, INF, C02–C11, STU, ADR. Drives title, age validation and fare matching.

givenNamestring
required

Given name

surnamestring
required

Surname

genderenum
required

Used to derive passengerTitle

dateOfBirthstring
required

ISO date. A malformed value throws.

saveTravelerboolean
optional

When true the passenger is written to the traveller book

travelerIdstring
optional

Links to an existing saved traveller

documentobject
optional

Passport / travel document

Response

200
{
  "message": "Success",
  "data": {
    "id": "66e1...",
    "searchId": "9f2c...",
    "price": { "currencyCode": "BDT", "total": 46300 },
    "passengers": [
      {
        "givenName": "RAHIM",
        "surname": "UDDIN",
        "passengerType": "ADT"
      }
    ],
    "finalPaymentDate": "2026-10-10T23:59:59"
  }
}

Business rules

  • For Sabre carts, a C02–C11 type whose real age falls in a different band is re-bucketed before matching.
  • Passport numbers are checked against existing bookings on the same flight and date.

Errors

404Entity Not Found

Cart missing or owned by another customer

400CHILD_AGE_MISMATCH

A passenger type the cart was not priced for

406invalid CHLD / INF / adult fare age

Child must be 2–11, infant under 2, adult-fare 12+ — all at departure.

401 / 403UNAUTHORIZED

Missing token or missing B2C_CART_UPDATE