List realm trips
curl --request GET \
--url https://api.travel.v2.portao3.com.br/realms/{realmId}/tripsimport requests
url = "https://api.travel.v2.portao3.com.br/realms/{realmId}/trips"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.travel.v2.portao3.com.br/realms/{realmId}/trips', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.travel.v2.portao3.com.br/realms/{realmId}/trips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.travel.v2.portao3.com.br/realms/{realmId}/trips"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.travel.v2.portao3.com.br/realms/{realmId}/trips")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.travel.v2.portao3.com.br/realms/{realmId}/trips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "6711b4c0d8e1a30012b7c9f2",
"realmId": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organizationId": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"customFields": {
"cost-center": "CC-1020"
},
"vertical": "AIR",
"state": "RESERVED",
"status": "RESERVED",
"passengers": [
{
"id": "6710a3f2c9e77b0012a4d5e1",
"lead": true,
"name": "Mariana Costa",
"gender": "FEMALE",
"birthDate": "1990-04-17",
"userId": "e3553bc1-5e20-4e17-b22a-a796fda0aa99"
}
],
"createdBy": "e3553bc1-5e20-4e17-b22a-a796fda0aa99",
"reservationExpiresAt": "2026-10-02T13:45:12.000Z",
"issuedAt": "2023-11-07T05:31:56Z",
"originalAmount": 95000,
"discountAmount": 3010,
"feeAmount": 0,
"totalAmount": 91990,
"currency": "986",
"productSnapshot": {
"journeys": [
{
"id": "jour_V1StGXR8Z5jdHi6BmyT2k",
"direction": "DEPARTURE",
"origin": {
"iata": "GRU",
"name": "São Paulo/Guarulhos International Airport",
"shortAddress": "Guarulhos, SP, Brazil",
"locality": "Guarulhos",
"administrativeArea": "SP",
"phoneNumbers": [
"551133334444"
]
},
"destination": {
"iata": "SDU",
"name": "Rio de Janeiro/Santos Dumont Airport",
"shortAddress": "Rio de Janeiro, RJ, Brazil",
"locality": "Rio de Janeiro",
"administrativeArea": "RJ",
"phoneNumbers": [
"552133339999"
]
},
"departureDate": "2026-11-02T08:30:00",
"arrivalDate": "2026-11-02T09:35:00",
"duration": "01:05",
"segments": [
{
"airline": {
"code": "LA",
"name": "LATAM Airlines",
"logo": "https://cdn.example.com/airlines/LA.png"
},
"operation": {
"code": "LA",
"name": "LATAM Airlines",
"logo": "https://cdn.example.com/airlines/LA.png"
},
"origin": {
"iata": "GRU",
"name": "São Paulo/Guarulhos International Airport",
"shortAddress": "Guarulhos, SP, Brazil",
"locality": "Guarulhos",
"administrativeArea": "SP",
"phoneNumbers": [
"551133334444"
]
},
"destination": {
"iata": "SDU",
"name": "Rio de Janeiro/Santos Dumont Airport",
"shortAddress": "Rio de Janeiro, RJ, Brazil",
"locality": "Rio de Janeiro",
"administrativeArea": "RJ",
"phoneNumbers": [
"552133339999"
]
},
"flightNumber": "3101",
"departureDate": "2026-11-02T08:30:00",
"arrivalDate": "2026-11-02T09:35:00",
"flightType": "REGULAR",
"duration": "01:05",
"equipment": "32Q",
"cabin": "ECONOMY",
"class": "Y",
"fareBasis": "YOW",
"flightInfo": null
}
]
}
],
"tickets": [
{
"fareDescription": "GRU to SDU, LATAM Airlines, Economy",
"ticketNumber": null,
"fares": [
{
"journeyId": "jour_V1StGXR8Z5jdHi6BmyT2k",
"currency": "BRL",
"originalAmount": 95000,
"discountAmount": 3010,
"feeAmount": 0,
"amount": 91990,
"cancellationPolicies": {
"refundable": true,
"immediateFine": false,
"penalties": [
{
"from": "2026-10-25",
"currency": "BRL",
"fineAmount": 15000
}
]
},
"changePolicies": {
"canChange": true,
"immediateFine": false,
"penalties": [
{
"from": "2026-10-25",
"currency": "BRL",
"fineAmount": 8000
}
]
}
}
],
"segments": [
{
"flightNumber": "3101",
"cabin": "ECONOMY",
"class": "Y",
"fareBasis": "YOW",
"baggages": [
{
"quantity": 1,
"weight": 23,
"type": "CHECKED"
}
]
}
],
"passengerId": "6710a3f2c9e77b0012a4d5e1"
}
],
"locators": [
{
"type": "PNR",
"code": "ABC123"
}
],
"flightInfoUpdatedAt": null
},
"cancellation": {
"quoteId": "<string>",
"cancelType": "CREDIT",
"originalAmount": 123,
"remainingAmount": 123,
"fineAmount": 123,
"currency": "<string>",
"status": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"confirmedAt": "2023-11-07T05:31:56Z",
"confirmedBy": "<string>"
},
"createdAt": "2026-10-01T13:45:12.000Z",
"updatedAt": "2026-10-01T13:46:03.000Z"
}
],
"next": "eyJjIjoiMjAyNi0xMC0wMVQxMzo0NToxMi4wMDBaIiwiaSI6IjY3MTFiNGMwZDhlMWEzMDAxMmI3YzlmMiJ9"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "TRAVEL_REALM_ADMIN_REQUIRED",
"origin": "TRAVEL",
"message": "Realm admin required"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "BAD_REQUEST",
"origin": "TRAVEL",
"message": "Bad Request: Your request is invalid or incomplete. Please make sure you are requesting with the right fields.",
"fields": [
{
"field": "vertical",
"message": "Invalid option: expected one of \"AIR\"|\"HOTEL\"|\"BUS\"|\"VEHICLE\"",
"code": "VERTICAL_ONE_OF"
}
]
}List realm trips
Lists every trip of the realm, across its organizations, newest first.
GET
/
realms
/
{realmId}
/
trips
List realm trips
curl --request GET \
--url https://api.travel.v2.portao3.com.br/realms/{realmId}/tripsimport requests
url = "https://api.travel.v2.portao3.com.br/realms/{realmId}/trips"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.travel.v2.portao3.com.br/realms/{realmId}/trips', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.travel.v2.portao3.com.br/realms/{realmId}/trips",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.travel.v2.portao3.com.br/realms/{realmId}/trips"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.travel.v2.portao3.com.br/realms/{realmId}/trips")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.travel.v2.portao3.com.br/realms/{realmId}/trips")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "6711b4c0d8e1a30012b7c9f2",
"realmId": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organizationId": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"customFields": {
"cost-center": "CC-1020"
},
"vertical": "AIR",
"state": "RESERVED",
"status": "RESERVED",
"passengers": [
{
"id": "6710a3f2c9e77b0012a4d5e1",
"lead": true,
"name": "Mariana Costa",
"gender": "FEMALE",
"birthDate": "1990-04-17",
"userId": "e3553bc1-5e20-4e17-b22a-a796fda0aa99"
}
],
"createdBy": "e3553bc1-5e20-4e17-b22a-a796fda0aa99",
"reservationExpiresAt": "2026-10-02T13:45:12.000Z",
"issuedAt": "2023-11-07T05:31:56Z",
"originalAmount": 95000,
"discountAmount": 3010,
"feeAmount": 0,
"totalAmount": 91990,
"currency": "986",
"productSnapshot": {
"journeys": [
{
"id": "jour_V1StGXR8Z5jdHi6BmyT2k",
"direction": "DEPARTURE",
"origin": {
"iata": "GRU",
"name": "São Paulo/Guarulhos International Airport",
"shortAddress": "Guarulhos, SP, Brazil",
"locality": "Guarulhos",
"administrativeArea": "SP",
"phoneNumbers": [
"551133334444"
]
},
"destination": {
"iata": "SDU",
"name": "Rio de Janeiro/Santos Dumont Airport",
"shortAddress": "Rio de Janeiro, RJ, Brazil",
"locality": "Rio de Janeiro",
"administrativeArea": "RJ",
"phoneNumbers": [
"552133339999"
]
},
"departureDate": "2026-11-02T08:30:00",
"arrivalDate": "2026-11-02T09:35:00",
"duration": "01:05",
"segments": [
{
"airline": {
"code": "LA",
"name": "LATAM Airlines",
"logo": "https://cdn.example.com/airlines/LA.png"
},
"operation": {
"code": "LA",
"name": "LATAM Airlines",
"logo": "https://cdn.example.com/airlines/LA.png"
},
"origin": {
"iata": "GRU",
"name": "São Paulo/Guarulhos International Airport",
"shortAddress": "Guarulhos, SP, Brazil",
"locality": "Guarulhos",
"administrativeArea": "SP",
"phoneNumbers": [
"551133334444"
]
},
"destination": {
"iata": "SDU",
"name": "Rio de Janeiro/Santos Dumont Airport",
"shortAddress": "Rio de Janeiro, RJ, Brazil",
"locality": "Rio de Janeiro",
"administrativeArea": "RJ",
"phoneNumbers": [
"552133339999"
]
},
"flightNumber": "3101",
"departureDate": "2026-11-02T08:30:00",
"arrivalDate": "2026-11-02T09:35:00",
"flightType": "REGULAR",
"duration": "01:05",
"equipment": "32Q",
"cabin": "ECONOMY",
"class": "Y",
"fareBasis": "YOW",
"flightInfo": null
}
]
}
],
"tickets": [
{
"fareDescription": "GRU to SDU, LATAM Airlines, Economy",
"ticketNumber": null,
"fares": [
{
"journeyId": "jour_V1StGXR8Z5jdHi6BmyT2k",
"currency": "BRL",
"originalAmount": 95000,
"discountAmount": 3010,
"feeAmount": 0,
"amount": 91990,
"cancellationPolicies": {
"refundable": true,
"immediateFine": false,
"penalties": [
{
"from": "2026-10-25",
"currency": "BRL",
"fineAmount": 15000
}
]
},
"changePolicies": {
"canChange": true,
"immediateFine": false,
"penalties": [
{
"from": "2026-10-25",
"currency": "BRL",
"fineAmount": 8000
}
]
}
}
],
"segments": [
{
"flightNumber": "3101",
"cabin": "ECONOMY",
"class": "Y",
"fareBasis": "YOW",
"baggages": [
{
"quantity": 1,
"weight": 23,
"type": "CHECKED"
}
]
}
],
"passengerId": "6710a3f2c9e77b0012a4d5e1"
}
],
"locators": [
{
"type": "PNR",
"code": "ABC123"
}
],
"flightInfoUpdatedAt": null
},
"cancellation": {
"quoteId": "<string>",
"cancelType": "CREDIT",
"originalAmount": 123,
"remainingAmount": 123,
"fineAmount": 123,
"currency": "<string>",
"status": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"confirmedAt": "2023-11-07T05:31:56Z",
"confirmedBy": "<string>"
},
"createdAt": "2026-10-01T13:45:12.000Z",
"updatedAt": "2026-10-01T13:46:03.000Z"
}
],
"next": "eyJjIjoiMjAyNi0xMC0wMVQxMzo0NToxMi4wMDBaIiwiaSI6IjY3MTFiNGMwZDhlMWEzMDAxMmI3YzlmMiJ9"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "TRAVEL_REALM_ADMIN_REQUIRED",
"origin": "TRAVEL",
"message": "Realm admin required"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "BAD_REQUEST",
"origin": "TRAVEL",
"message": "Bad Request: Your request is invalid or incomplete. Please make sure you are requesting with the right fields.",
"fields": [
{
"field": "vertical",
"message": "Invalid option: expected one of \"AIR\"|\"HOTEL\"|\"BUS\"|\"VEHICLE\"",
"code": "VERTICAL_ONE_OF"
}
]
}Only an admin of the realm can list them (403 otherwise). Each trip carries the
organizationId it belongs to. Filter by creation date, requester, passenger and the type, state or status of the trip. Paginated — see Pagination.Path Parameters
ID of the realm whose trips you want to list.
Format: UUID
Query Parameters
Only trips created on or after this day (YYYY-MM-DD, UTC).
Pattern:
^\d{4}-\d{2}-\d{2}$Only trips created on or before this day (YYYY-MM-DD, UTC), the whole day included.
Pattern:
^\d{4}-\d{2}-\d{2}$Only trips of this type.
Available options:
AIR, HOTEL, BUS, VEHICLE Only trips in this state.
Available options:
PENDING, RESERVED, ISSUED, CANCELED Only trips in this status.
Available options:
PROCESSING_RESERVATION, RESERVATION_FAILED, RESERVED, PROCESSING_ISSUE, ISSUED, PROCESSING_CANCELLATION, CANCELED, AWAITING_MANUAL_CANCELLATION, CANCELLATION_FAILED, FAILED, FAILED_BY_INCONSISTENT_DATA, FAILED_BY_UNAVAILABLE_RESOURCE, FAILED_BY_BUDGET_EXCEEDED, EXPIRED, BLOCKED, UNKNOWN, ISSUANCE_FAILED Only trips created by this user (createdBy).
Maximum string length:
100Only trips the passenger travels on (24 hexadecimal characters).
Pattern:
^[0-9a-fA-F]{24}$Cursor returned as next by the previous page. Omit for the first page.
Page size.
Required range:
1 <= x <= 100