API Guide: Read Itineraries
List a traveller's itineraries, open one with its ETag, and read its days, flights, hotels, packing and expenses.
Read a traveller's library with GET /v1/itineraries, then open one itinerary with GET /v1/itineraries/{id}. Every call needs Authorization: Bearer YOUR_TOKEN and the itineraries:read scope. Send Travelyfe-Itinerary-Shape: clean on all of them.
Steps
List the library. filter is all (the default), owned, shared, saved, liked or disliked. updatedSince (an ISO 8601 time) returns only itineraries changed after it.
curl "https://api.travelyfe.com/v1/itineraries?filter=owned&limit=2" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Travelyfe-Itinerary-Shape: clean"{
"data": [
{
"id": "5b0e5c1a-8f4d-4a52-9d3a-1c2e7f6b9a10",
"title": "Five Days In Lisbon",
"destination": { "name": "Lisbon, Portugal" },
"startDate": "2027-03-10",
"visibility": "private",
"role": "owner",
"daysCount": 5,
"stopsCount": 14,
"updatedAt": "2026-10-12T09:30:00.000Z",
"etag": "\"aXRpbmVyYXJ5OjQy\""
}
],
"nextCursor": null
}Example response, shortened: each row also has summary, coverImageUrl, tags and author.
Open one itinerary. Replace the id with one from the list. The ETag response header is the version you read; keep it if you plan to change the itinerary.
curl -i https://api.travelyfe.com/v1/itineraries/5b0e5c1a-8f4d-4a52-9d3a-1c2e7f6b9a10 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Travelyfe-Itinerary-Shape: clean"The body is the whole itinerary plus visibility, role, author, createdAt, updatedAt, likesCount and viewsCount.
Read a part. Each of these answers { "data": [...] } and the ETag header:
curl https://api.travelyfe.com/v1/itineraries/5b0e5c1a-8f4d-4a52-9d3a-1c2e7f6b9a10/flights \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Travelyfe-Itinerary-Shape: clean"Use /days, /flights, /hotels, /packing or /expenses. One day, with its stops and the flight and hotel pins for that day, is /days/{dayId}.
Read another traveller's itineraries. Use their account id and filter=owned. You see only what you are allowed to see.
curl "https://api.travelyfe.com/v1/accounts/ACCOUNT_ID/itineraries?filter=owned" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Travelyfe-Itinerary-Shape: clean"Check likes and saves. GET /v1/itineraries/{id}/marks answers { "liked": false, "disliked": false, "saved": true }.
What You Get
Itinerary fields are named once, everywhere: title, summary, destination, origin, startDate, travellers, currency, tags, days (each with stops), flights, hotels, packing, expenses. See the reference for every field.
Packing and expenses are included only when the traveller has Travelyfe Pro. Documents are not part of the itinerary: use the document routes.
If It Doesn't Work
401 unauthenticated: the token is missing, expired or revoked. See Authentication.403 forbidden: the token lacksitineraries:read, or you asked for another traveller'ssaved,likedordislikedlist.403 subscriptionRequired: you asked for/packingor/expensesand the traveller does not have Pro.404 notFound: the itinerary does not exist or this traveller cannot see it.
Limits
Reads count against 120 requests a minute. limit is 1 to 100, 25 by default; see Page Through Results.