curl --request GET \
--url https://api.example.com/api/v1/customer/tickets/{ticketId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/customer/tickets/{ticketId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/customer/tickets/{ticketId}', 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.example.com/api/v1/customer/tickets/{ticketId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.example.com/api/v1/customer/tickets/{ticketId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/v1/customer/tickets/{ticketId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/customer/tickets/{ticketId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"ticketId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"orderId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"cooperative": {
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organization": {
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"name": "Cooperativa Metropolitana",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"email": "contato@estrela.com",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"tradeName": "Metropolitana"
}
},
"transportOperatorId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"transportOperator": {
"document": "12345678000190",
"documentType": "CNPJ",
"legalName": "Joao Silva Transportes Ltda",
"transportOperatorId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"tradeName": "Silva Transportes"
},
"tripId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3c",
"tripItineraryId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3d",
"seatId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3e",
"seatTypeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3f",
"passengerId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f40",
"seatPrice": 5000,
"tripItineraryPrice": 3000,
"baseAmount": 8000,
"benefitDiscountAmount": 0,
"discountAmount": 0,
"creditAmount": 0,
"paidAmount": 8000,
"price": 8000,
"qrCode": "TKT-20260412-A1B2C3",
"code": "BIL-A1B2C3",
"snapshot": {
"trip": {
"departureAt": "2026-04-15T10:00:00.000Z",
"estimatedArrivalAt": "2026-04-15T18:00:00.000Z"
},
"itinerary": {
"fromStop": {
"name": "Terminal Tietê",
"stopOrder": 1,
"arrivalAt": "2026-04-15T10:00:00.000Z",
"departureAt": "2026-04-15T10:15:00.000Z"
},
"toStop": {
"name": "Terminal Tietê",
"stopOrder": 1,
"arrivalAt": "2026-04-15T10:00:00.000Z",
"departureAt": "2026-04-15T10:15:00.000Z"
}
},
"seat": {
"label": "5A",
"floor": "FIRST",
"row": 5,
"column": "A",
"side": "LEFT"
},
"seatType": {
"name": "Convencional",
"color": "#3b82f6"
},
"passenger": {
"name": "Maria Silva",
"document": "36641876870",
"documentType": "CPF",
"birthDate": "1990-01-01"
}
},
"status": "VALID",
"trip": {
"status": "SCHEDULED",
"tripId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"departureAt": "2023-11-07T05:31:56Z",
"estimatedArrivalAt": "2023-11-07T05:31:56Z"
},
"issuedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"passengerBenefitRequestId": null,
"benefitDocumentValidationId": null,
"createdBy": null,
"updatedBy": null,
"boardedAt": "2023-11-07T05:31:56Z"
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Missing or invalid access token",
"statusCode": 401
}{
"message": "Internal Server Error",
"statusCode": 500
}Get Ticket
Returns a ticket.
curl --request GET \
--url https://api.example.com/api/v1/customer/tickets/{ticketId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/customer/tickets/{ticketId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/customer/tickets/{ticketId}', 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.example.com/api/v1/customer/tickets/{ticketId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.example.com/api/v1/customer/tickets/{ticketId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/v1/customer/tickets/{ticketId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/customer/tickets/{ticketId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"ticketId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"orderId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"cooperative": {
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organization": {
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"name": "Cooperativa Metropolitana",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"email": "contato@estrela.com",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"tradeName": "Metropolitana"
}
},
"transportOperatorId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"transportOperator": {
"document": "12345678000190",
"documentType": "CNPJ",
"legalName": "Joao Silva Transportes Ltda",
"transportOperatorId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"tradeName": "Silva Transportes"
},
"tripId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3c",
"tripItineraryId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3d",
"seatId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3e",
"seatTypeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3f",
"passengerId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f40",
"seatPrice": 5000,
"tripItineraryPrice": 3000,
"baseAmount": 8000,
"benefitDiscountAmount": 0,
"discountAmount": 0,
"creditAmount": 0,
"paidAmount": 8000,
"price": 8000,
"qrCode": "TKT-20260412-A1B2C3",
"code": "BIL-A1B2C3",
"snapshot": {
"trip": {
"departureAt": "2026-04-15T10:00:00.000Z",
"estimatedArrivalAt": "2026-04-15T18:00:00.000Z"
},
"itinerary": {
"fromStop": {
"name": "Terminal Tietê",
"stopOrder": 1,
"arrivalAt": "2026-04-15T10:00:00.000Z",
"departureAt": "2026-04-15T10:15:00.000Z"
},
"toStop": {
"name": "Terminal Tietê",
"stopOrder": 1,
"arrivalAt": "2026-04-15T10:00:00.000Z",
"departureAt": "2026-04-15T10:15:00.000Z"
}
},
"seat": {
"label": "5A",
"floor": "FIRST",
"row": 5,
"column": "A",
"side": "LEFT"
},
"seatType": {
"name": "Convencional",
"color": "#3b82f6"
},
"passenger": {
"name": "Maria Silva",
"document": "36641876870",
"documentType": "CPF",
"birthDate": "1990-01-01"
}
},
"status": "VALID",
"trip": {
"status": "SCHEDULED",
"tripId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"departureAt": "2023-11-07T05:31:56Z",
"estimatedArrivalAt": "2023-11-07T05:31:56Z"
},
"issuedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"passengerBenefitRequestId": null,
"benefitDocumentValidationId": null,
"createdBy": null,
"updatedBy": null,
"boardedAt": "2023-11-07T05:31:56Z"
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Missing or invalid access token",
"statusCode": 401
}{
"message": "Internal Server Error",
"statusCode": 500
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Ticket identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Query Parameters
Comma-separated list of fields to include in the response. Supports dot notation for nested projection (e.g. id,name,user.email,trips.route.id). Unknown fields are silently dropped.
Response
OK
Ticket detail
Ticket identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Order identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b"
Cooperative identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b"
Cooperative identity
Show child attributes
Show child attributes
Transport operator identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b"
Transport operator identity
Show child attributes
Show child attributes
Trip identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3c"
Trip itinerary identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3d"
Seat identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3e"
Seat type identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3f"
Passenger identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f40"
Seat price in cents
5000
Trip itinerary price in cents
3000
Base amount in cents
8000
Benefit discount amount in cents
0
Discount amount in cents
0
Credit amount in cents
0
Paid amount in cents
8000
Total price in cents
8000
QR code
"TKT-20260412-A1B2C3"
Readable ticket code
"BIL-A1B2C3"
Ticket snapshot at issuance
Show child attributes
Show child attributes
Ticket status
VALID, CANCELLED "VALID"
Show child attributes
Show child attributes
Issue date
Creation date
Last update date
Passenger benefit request identifier
null
Benefit document validation identifier
null
Created by
null
Updated by
null
Boarding date