Get a trip's travelers
GET/v1/trips/{tripId}/travelers
The trip's passengers in booking order (position 0 first) with every field the Travelers card shows — names, birth date, nationality, identity document, contact details — plus each one's missing ticketing fields and app access; the booking contact; the contracted headcount and a summary. Personal data: every call is recorded in the audit log.
Permissions: travelers:read · Kind: read · Cost: 1 unit · MCP tool get_travelers
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
tripId |
uuid | yes |
Query parameters
None.
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
object |
"traveler_roster" | yes | |
tripId |
uuid | yes | |
commercialState |
string | yes | |
headcount |
integer | yes | |
accessOpen |
boolean | yes | |
summary |
object | yes | |
summary.total |
integer | yes | |
summary.complete |
integer | yes | |
summary.emptySlots |
integer | yes | |
summary.pax |
object | yes | |
summary.pax.adult |
integer | yes | |
summary.pax.child |
integer | yes | |
summary.pax.infant |
integer | yes | |
summary.pax.unknown |
integer | yes | |
passengers |
object[] | yes | |
passengers[].object |
"traveler" | yes | |
passengers[].id |
uuid | yes | |
passengers[].tripId |
uuid | yes | |
passengers[].position |
integer | yes | |
passengers[].title |
"mr" | "mrs" | "ms" | "mstr" | "miss" | null | yes | |
passengers[].firstName |
string | null | yes | |
passengers[].lastName1 |
string | null | yes | |
passengers[].lastName2 |
string | null | yes | |
passengers[].birthDate |
string | null | yes | |
passengers[].sex |
"m" | "f" | null | yes | |
passengers[].nationality |
string | null | yes | |
passengers[].docType |
"dni" | "nie" | "passport" | "other" | null | yes | |
passengers[].docNumber |
string | null | yes | |
passengers[].docExpiry |
string | null | yes | |
passengers[].docCountry |
string | null | yes | |
passengers[].email |
string | null | yes | |
passengers[].phone |
string | null | yes | |
passengers[].address |
object | null | yes | |
passengers[].address.line1 |
string | null | yes | |
passengers[].address.line2 |
string | null | yes | |
passengers[].address.postalCode |
string | null | yes | |
passengers[].address.city |
string | null | yes | |
passengers[].address.region |
string | null | yes | |
passengers[].address.country |
string | null | yes | |
passengers[].taxId |
string | null | yes | |
passengers[].paxType |
"adult" | "child" | "infant" | "unknown" | yes | |
passengers[].missing |
string[] | yes | |
passengers[].access |
"invited" | "queued" | "failed" | "no_email" | "not_yet" | null | yes | |
passengers[].source |
string | yes | |
passengers[].consentAt |
string | null | yes | |
passengers[].docsPurgedAt |
string | null | yes | |
passengers[].createdAt |
string | yes | |
passengers[].updatedAt |
string | yes | |
contact |
object | null | yes | |
contact.object |
"trip_contact" | yes | |
contact.tripId |
uuid | yes | |
contact.name |
string | null | yes | |
contact.email |
string | null | yes | |
contact.phone |
string | null | yes | |
contact.address |
object | null | yes | |
contact.address.line1 |
string | null | yes | |
contact.address.line2 |
string | null | yes | |
contact.address.postalCode |
string | null | yes | |
contact.address.city |
string | null | yes | |
contact.address.region |
string | null | yes | |
contact.address.country |
string | null | yes | |
contact.docType |
"dni" | "nie" | "passport" | "other" | null | yes | |
contact.docNumber |
string | null | yes | |
contact.docCountry |
string | null | yes | |
contact.taxId |
string | null | yes | |
contact.account |
object | yes | |
contact.account.userId |
uuid | yes | |
contact.account.email |
string | null | yes | |
contact.account.name |
string | null | yes | |
contact.access |
"invited" | "queued" | "failed" | "no_email" | "not_yet" | null | yes | |
contact.accessOpenedAt |
string | null | yes | |
mailQueueStaleMinutes |
integer | null | yes |
Errors
Errors are problem details. Besides the refusals described above, any call like this one can return:
invalid_request— Invalid requestunauthorized— Missing or invalid API keyinsufficient_scope— Missing permissionrate_limited— Rate limit reachednot_found— Not found