Skip to main content
POST
Create a passenger
Send userId to register one of the organization’s users: their name, e-mail and CPF are copied from the user and can’t be changed later. Without userId, you register someone who is not a user, and the full profile is required: name, birthDate, emails and at least one document. Every required passenger custom field of the organization must be in customFields. An error the travel provider reports about the passenger’s data — a document number it rejects, say — is returned with its own status, code and message.

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

organizationId
string<uuid>
required

ID of the organization to register the passenger in.

Format: UUID

Body

application/json
gender
enum<string>
required

Gender.

Available options:
MALE,
FEMALE
Example:

"FEMALE"

phoneNumbers
string[]
required

Contact phone numbers in international format (+5511987654321). Digits only with the country code (5511987654321) is also accepted.


Example: ["+5511987654321"]

Minimum array length: 1
Pattern: ^\d{10,15}$
Example:

"+5511987654321"

address
object
required

Home address.

userId
string<uuid>

ID of an active user of the organization to link the passenger to. The passenger's name, e-mail and CPF are then copied from the user — don't send name, emails or documents.CPF — and birthDate is needed only when the user has none. Omit it to register someone who is not a user; name, birthDate, emails and at least one document are then required. A user can have only one passenger.

Format: UUID

Example:

"e3553bc1-5e20-4e17-b22a-a796fda0aa99"

name
string

Full name, as it appears on the passenger's travel documents. Required without userId; don't send it with userId.

Minimum string length: 1
Example:

"Mariana Costa"

birthDate
string

Date of birth (YYYY-MM-DD). Required without userId; with userId, used only when the user has none.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"1990-04-17"

emails
string<email>[]

Contact e-mails; the first one is the main contact. Required without userId; don't send it with userId.


Example: ["mariana.costa@acme.com.br"]

Minimum array length: 1
Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
documents
object

Identity documents, by type. Without userId, at least one is required. With userId, the CPF comes from the user; you may add the others (an empty object is fine).

loyalty
object

Loyalty program numbers, keyed by carrier code.


Example: {"LA":"123456789"}

Example:
customFields
object

Values of the organization's passenger custom fields, keyed by the custom field's slug. Every required one must be present.


Example: {"cost-center":"CC-1020"}

Example:

Response

Successful response

A passenger of the organization: a traveler who can be booked on trips.

id
string
required

ID of the passenger.

Example:

"6710a3f2c9e77b0012a4d5e1"

realmId
string<uuid>
required

ID of the realm the passenger belongs to.

Example:

"f495ff0c-ab54-4f99-8e92-ca8682e4de9b"

organizationId
string<uuid>
required

ID of the organization the passenger belongs to.

Example:

"c4bd3f21-dfbd-44e8-8055-68ba15bed410"

source
enum<string>
required

Always PASSENGER for a passenger. In the passenger list, it tells a passenger apart from a user who is not a passenger yet (USER).

Available options:
PASSENGER
Example:

"PASSENGER"

profileComplete
enum<boolean>
required

Always true: a passenger has every field a booking needs.

Available options:
true
Example:

true

name
string
required

Full name, as it appears on the passenger's travel documents.

Example:

"Mariana Costa"

gender
enum<string>
required

Gender.

Available options:
MALE,
FEMALE
Example:

"FEMALE"

birthDate
string
required

Date of birth (YYYY-MM-DD).

Example:

"1990-04-17"

emails
string[]
required

Contact e-mails. The first one is the main contact.


Example: ["mariana.costa@acme.com.br"]

phoneNumbers
string[]
required

Contact phone numbers, in international format.


Example: ["+5511987654321"]

documents
object
required

Identity documents.

address
object
required

Home address.

customFields
object
required

Values of the organization's passenger custom fields, keyed by the custom field's slug. Empty when none were set.


Example: {"cost-center":"CC-1020"}

Example:
status
enum<string>
required

Status of the passenger. Only ACTIVE passengers are returned.

Available options:
ACTIVE,
DELETED
Example:

"ACTIVE"

userId
string<uuid>

ID of the organization user this passenger is linked to. Omitted for a passenger who is not a user. A linked passenger's name, first e-mail and CPF come from the user and can't be changed.

Example:

"e3553bc1-5e20-4e17-b22a-a796fda0aa99"

loyalty
object

Loyalty program numbers, keyed by carrier code. Omitted when there are none.


Example: {"LA":"123456789"}

Example:
createdAt
string<date-time>

When the passenger was created.

Example:

"2026-10-01T13:45:12.000Z"

updatedAt
string<date-time>

When the passenger was last changed.

Example:

"2026-10-01T13:45:12.000Z"