TravelyfeHelp
Developers

Errors And Limits

Error codes, status codes and rate limits.

Error Shape

{ "error": { "code": "validationFailed", "message": "Send the dayId to add this stop to.", "details": { "field": "dayId" } } }

Branch on code, never on message.

CodeStatusMeaning
unauthenticated401Missing or expired token
forbidden403Missing scope, or a Travelyfe-apps-only route
subscriptionRequired403The traveller needs Travelyfe Pro
aiConsentRequired403The traveller hasn't turned on AI imports
notFound404Doesn't exist or isn't visible to this traveller
itineraryModified409Out-of-date ETag
duplicateItinerary409Same destination and date already exists
conflict409Conflicts with the current state
itineraryTooLarge413The itinerary document is too big
validationFailed422Bad input; details.field names it
idempotencyKeyReused422Same key, different body
imageRejected422The image couldn't be used
documentNotSealed422A document wasn't encrypted before upload
bookingLimitReached422Too many bookings on the itinerary
publishBlocked422Not ready to publish
preconditionRequired428Send If-Match
rateLimited429Slow down
upstreamFailed502A service behind the API didn't answer

Rate Limits

Limits are per token, per minute, by kind of request:

BucketRequests per minute
Read120
Search30
Write60
Image20
Document10

Each response includes RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset. When you get 429, wait until the reset time.

On this page