curl --request POST \
--url https://api.example.com/api/v1/customer/benefits/requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fareBenefitCategoryId": "0197f710-b826-77f0-a60b-6c62b9fdd301",
"notes": "Student half-fare request"
}
'import requests
url = "https://api.example.com/api/v1/customer/benefits/requests"
payload = {
"fareBenefitCategoryId": "0197f710-b826-77f0-a60b-6c62b9fdd301",
"notes": "Student half-fare request"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fareBenefitCategoryId: '0197f710-b826-77f0-a60b-6c62b9fdd301',
notes: 'Student half-fare request'
})
};
fetch('https://api.example.com/api/v1/customer/benefits/requests', 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/benefits/requests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fareBenefitCategoryId' => '0197f710-b826-77f0-a60b-6c62b9fdd301',
'notes' => 'Student half-fare request'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/customer/benefits/requests"
payload := strings.NewReader("{\n \"fareBenefitCategoryId\": \"0197f710-b826-77f0-a60b-6c62b9fdd301\",\n \"notes\": \"Student half-fare request\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/customer/benefits/requests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fareBenefitCategoryId\": \"0197f710-b826-77f0-a60b-6c62b9fdd301\",\n \"notes\": \"Student half-fare request\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/customer/benefits/requests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fareBenefitCategoryId\": \"0197f710-b826-77f0-a60b-6c62b9fdd301\",\n \"notes\": \"Student half-fare request\"\n}"
response = http.request(request)
puts response.read_body{
"passengerBenefitRequestId": "0197f712-8a7e-7a53-9d28-51f8f3c77d41",
"customerId": "0197a7f6-4d36-7c0a-a7cb-54fcb33a3148",
"fareBenefitCategoryId": "0197f710-b826-77f0-a60b-6c62b9fdd301",
"requestedByUserId": "0197a7f6-2c4d-74ae-b89b-9d36d9c341f2",
"code": "BEN-20260704-0001",
"status": "PENDING",
"createdAt": "2026-07-04T11:30:00.000Z",
"updatedAt": "2026-07-04T12:00:00.000Z",
"reviewedByUserId": null,
"notes": "Student half-fare request",
"rejectionReason": null,
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null,
"reviewedAt": null,
"validFrom": null,
"validUntil": null
}{
"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
}Create Benefit Request
Creates a benefit request.
curl --request POST \
--url https://api.example.com/api/v1/customer/benefits/requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fareBenefitCategoryId": "0197f710-b826-77f0-a60b-6c62b9fdd301",
"notes": "Student half-fare request"
}
'import requests
url = "https://api.example.com/api/v1/customer/benefits/requests"
payload = {
"fareBenefitCategoryId": "0197f710-b826-77f0-a60b-6c62b9fdd301",
"notes": "Student half-fare request"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fareBenefitCategoryId: '0197f710-b826-77f0-a60b-6c62b9fdd301',
notes: 'Student half-fare request'
})
};
fetch('https://api.example.com/api/v1/customer/benefits/requests', 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/benefits/requests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fareBenefitCategoryId' => '0197f710-b826-77f0-a60b-6c62b9fdd301',
'notes' => 'Student half-fare request'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/customer/benefits/requests"
payload := strings.NewReader("{\n \"fareBenefitCategoryId\": \"0197f710-b826-77f0-a60b-6c62b9fdd301\",\n \"notes\": \"Student half-fare request\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/customer/benefits/requests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fareBenefitCategoryId\": \"0197f710-b826-77f0-a60b-6c62b9fdd301\",\n \"notes\": \"Student half-fare request\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/customer/benefits/requests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fareBenefitCategoryId\": \"0197f710-b826-77f0-a60b-6c62b9fdd301\",\n \"notes\": \"Student half-fare request\"\n}"
response = http.request(request)
puts response.read_body{
"passengerBenefitRequestId": "0197f712-8a7e-7a53-9d28-51f8f3c77d41",
"customerId": "0197a7f6-4d36-7c0a-a7cb-54fcb33a3148",
"fareBenefitCategoryId": "0197f710-b826-77f0-a60b-6c62b9fdd301",
"requestedByUserId": "0197a7f6-2c4d-74ae-b89b-9d36d9c341f2",
"code": "BEN-20260704-0001",
"status": "PENDING",
"createdAt": "2026-07-04T11:30:00.000Z",
"updatedAt": "2026-07-04T12:00:00.000Z",
"reviewedByUserId": null,
"notes": "Student half-fare request",
"rejectionReason": null,
"createdBy": null,
"updatedBy": null,
"deletedBy": null,
"deletedAt": null,
"reviewedAt": null,
"validFrom": null,
"validUntil": null
}{
"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.
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.
Body
Response
Created
Passenger benefit request
Benefit request identifier
"0197f712-8a7e-7a53-9d28-51f8f3c77d41"
Customer identifier
"0197a7f6-4d36-7c0a-a7cb-54fcb33a3148"
Fare benefit category identifier
"0197f710-b826-77f0-a60b-6c62b9fdd301"
Requesting user identifier
"0197a7f6-2c4d-74ae-b89b-9d36d9c341f2"
Benefit request code
"BEN-20260704-0001"
Benefit request status
PENDING, IN_REVIEW, APPROVED, REJECTED, CANCELED, EXPIRED "PENDING"
Created at
"2026-07-04T11:30:00.000Z"
Updated at
"2026-07-04T12:00:00.000Z"
Reviewing user identifier
null
Customer notes
"Student half-fare request"
Rejection reason
null
Created by
null
Updated by
null
Deleted by
null
Deleted at
null
Reviewed at
null
Benefit validity start
null
Benefit validity end
null