curl --request POST \
--url https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"origin": "<string>",
"destination": "<string>",
"departureDate": "2023-12-25",
"returnDate": "2023-12-25",
"adults": 1,
"children": 0,
"infants": 0,
"cabinClass": "economy",
"currency": "USD",
"optimize": [],
"preferredAirlines": [
"<string>"
],
"excludedAirlines": [
"<string>"
],
"preferredAirports": [
"<string>"
],
"excludedAirports": [
"<string>"
],
"maxStops": 1,
"minLayoverMinutes": 720,
"maxLayoverMinutes": 1440,
"maxDurationMinutes": 5055,
"maxPrice": 123,
"departAfter": "<string>",
"departBefore": "<string>",
"arriveAfter": "<string>",
"arriveBefore": "<string>",
"maxResults": 25,
"maxProviders": 6,
"providers": [],
"maxCredits": "<string>",
"externalUserId": "<string>",
"attribution": {}
}
'import requests
url = "https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview"
payload = {
"origin": "<string>",
"destination": "<string>",
"departureDate": "2023-12-25",
"returnDate": "2023-12-25",
"adults": 1,
"children": 0,
"infants": 0,
"cabinClass": "economy",
"currency": "USD",
"optimize": [],
"preferredAirlines": ["<string>"],
"excludedAirlines": ["<string>"],
"preferredAirports": ["<string>"],
"excludedAirports": ["<string>"],
"maxStops": 1,
"minLayoverMinutes": 720,
"maxLayoverMinutes": 1440,
"maxDurationMinutes": 5055,
"maxPrice": 123,
"departAfter": "<string>",
"departBefore": "<string>",
"arriveAfter": "<string>",
"arriveBefore": "<string>",
"maxResults": 25,
"maxProviders": 6,
"providers": [],
"maxCredits": "<string>",
"externalUserId": "<string>",
"attribution": {}
}
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({
origin: '<string>',
destination: '<string>',
departureDate: '2023-12-25',
returnDate: '2023-12-25',
adults: 1,
children: 0,
infants: 0,
cabinClass: 'economy',
currency: 'USD',
optimize: [],
preferredAirlines: ['<string>'],
excludedAirlines: ['<string>'],
preferredAirports: ['<string>'],
excludedAirports: ['<string>'],
maxStops: 1,
minLayoverMinutes: 720,
maxLayoverMinutes: 1440,
maxDurationMinutes: 5055,
maxPrice: 123,
departAfter: '<string>',
departBefore: '<string>',
arriveAfter: '<string>',
arriveBefore: '<string>',
maxResults: 25,
maxProviders: 6,
providers: [],
maxCredits: '<string>',
externalUserId: '<string>',
attribution: {}
})
};
fetch('https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview', 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.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview",
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([
'origin' => '<string>',
'destination' => '<string>',
'departureDate' => '2023-12-25',
'returnDate' => '2023-12-25',
'adults' => 1,
'children' => 0,
'infants' => 0,
'cabinClass' => 'economy',
'currency' => 'USD',
'optimize' => [
],
'preferredAirlines' => [
'<string>'
],
'excludedAirlines' => [
'<string>'
],
'preferredAirports' => [
'<string>'
],
'excludedAirports' => [
'<string>'
],
'maxStops' => 1,
'minLayoverMinutes' => 720,
'maxLayoverMinutes' => 1440,
'maxDurationMinutes' => 5055,
'maxPrice' => 123,
'departAfter' => '<string>',
'departBefore' => '<string>',
'arriveAfter' => '<string>',
'arriveBefore' => '<string>',
'maxResults' => 25,
'maxProviders' => 6,
'providers' => [
],
'maxCredits' => '<string>',
'externalUserId' => '<string>',
'attribution' => [
]
]),
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.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview"
payload := strings.NewReader("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"departureDate\": \"2023-12-25\",\n \"returnDate\": \"2023-12-25\",\n \"adults\": 1,\n \"children\": 0,\n \"infants\": 0,\n \"cabinClass\": \"economy\",\n \"currency\": \"USD\",\n \"optimize\": [],\n \"preferredAirlines\": [\n \"<string>\"\n ],\n \"excludedAirlines\": [\n \"<string>\"\n ],\n \"preferredAirports\": [\n \"<string>\"\n ],\n \"excludedAirports\": [\n \"<string>\"\n ],\n \"maxStops\": 1,\n \"minLayoverMinutes\": 720,\n \"maxLayoverMinutes\": 1440,\n \"maxDurationMinutes\": 5055,\n \"maxPrice\": 123,\n \"departAfter\": \"<string>\",\n \"departBefore\": \"<string>\",\n \"arriveAfter\": \"<string>\",\n \"arriveBefore\": \"<string>\",\n \"maxResults\": 25,\n \"maxProviders\": 6,\n \"providers\": [],\n \"maxCredits\": \"<string>\",\n \"externalUserId\": \"<string>\",\n \"attribution\": {}\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.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"departureDate\": \"2023-12-25\",\n \"returnDate\": \"2023-12-25\",\n \"adults\": 1,\n \"children\": 0,\n \"infants\": 0,\n \"cabinClass\": \"economy\",\n \"currency\": \"USD\",\n \"optimize\": [],\n \"preferredAirlines\": [\n \"<string>\"\n ],\n \"excludedAirlines\": [\n \"<string>\"\n ],\n \"preferredAirports\": [\n \"<string>\"\n ],\n \"excludedAirports\": [\n \"<string>\"\n ],\n \"maxStops\": 1,\n \"minLayoverMinutes\": 720,\n \"maxLayoverMinutes\": 1440,\n \"maxDurationMinutes\": 5055,\n \"maxPrice\": 123,\n \"departAfter\": \"<string>\",\n \"departBefore\": \"<string>\",\n \"arriveAfter\": \"<string>\",\n \"arriveBefore\": \"<string>\",\n \"maxResults\": 25,\n \"maxProviders\": 6,\n \"providers\": [],\n \"maxCredits\": \"<string>\",\n \"externalUserId\": \"<string>\",\n \"attribution\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview")
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 \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"departureDate\": \"2023-12-25\",\n \"returnDate\": \"2023-12-25\",\n \"adults\": 1,\n \"children\": 0,\n \"infants\": 0,\n \"cabinClass\": \"economy\",\n \"currency\": \"USD\",\n \"optimize\": [],\n \"preferredAirlines\": [\n \"<string>\"\n ],\n \"excludedAirlines\": [\n \"<string>\"\n ],\n \"preferredAirports\": [\n \"<string>\"\n ],\n \"excludedAirports\": [\n \"<string>\"\n ],\n \"maxStops\": 1,\n \"minLayoverMinutes\": 720,\n \"maxLayoverMinutes\": 1440,\n \"maxDurationMinutes\": 5055,\n \"maxPrice\": 123,\n \"departAfter\": \"<string>\",\n \"departBefore\": \"<string>\",\n \"arriveAfter\": \"<string>\",\n \"arriveBefore\": \"<string>\",\n \"maxResults\": 25,\n \"maxProviders\": 6,\n \"providers\": [],\n \"maxCredits\": \"<string>\",\n \"externalUserId\": \"<string>\",\n \"attribution\": {}\n}"
response = http.request(request)
puts response.read_body{
"object": "locus.travel_flight_search.preview",
"capability": "travel.flight_search",
"request": {
"origin": "<string>",
"destination": "<string>",
"departureDate": "2023-12-25",
"returnDate": "2023-12-25",
"adults": 1,
"children": 0,
"infants": 0,
"cabinClass": "economy",
"currency": "USD",
"optimize": [
"cost"
],
"preferredAirlines": [
"<string>"
],
"excludedAirlines": [
"<string>"
],
"preferredAirports": [
"<string>"
],
"excludedAirports": [
"<string>"
],
"maxStops": 1,
"minLayoverMinutes": 720,
"maxLayoverMinutes": 1440,
"maxDurationMinutes": 5055,
"maxPrice": 123,
"departAfter": "<string>",
"departBefore": "<string>",
"arriveAfter": "<string>",
"arriveBefore": "<string>",
"maxResults": 25,
"maxProviders": 6,
"providers": [
"aircanada"
],
"maxCredits": "<string>",
"externalUserId": "<string>",
"attribution": {}
},
"providers": [
{
"providerId": "<string>",
"providerName": "<string>",
"estimatedCostCredits": "<string>",
"priceExact": true,
"estimatedCostUsd": 1
}
],
"eligibleProviders": [
{
"providerId": "<string>",
"providerName": "<string>"
}
],
"ineligibleProviders": [
{
"providerId": "<string>",
"providerName": "<string>",
"reason": "credential_scope",
"detail": "<string>"
}
],
"estimatedCostCredits": "<string>",
"estimateExact": true,
"estimatedCostUsd": 1
}{
"error": "<string>",
"message": "<string>"
}Plan a multi-provider flight search without dispatching
Available when enabled for the workspace. Locus Travel planning route. It validates the normalized search, applies credential and catalog restrictions, selects eligible providers, and returns the aggregate estimated charge. It does not contact travel providers or burn credits. estimateExact is false when at least one selected provider has a live or otherwise variable price.
curl --request POST \
--url https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"origin": "<string>",
"destination": "<string>",
"departureDate": "2023-12-25",
"returnDate": "2023-12-25",
"adults": 1,
"children": 0,
"infants": 0,
"cabinClass": "economy",
"currency": "USD",
"optimize": [],
"preferredAirlines": [
"<string>"
],
"excludedAirlines": [
"<string>"
],
"preferredAirports": [
"<string>"
],
"excludedAirports": [
"<string>"
],
"maxStops": 1,
"minLayoverMinutes": 720,
"maxLayoverMinutes": 1440,
"maxDurationMinutes": 5055,
"maxPrice": 123,
"departAfter": "<string>",
"departBefore": "<string>",
"arriveAfter": "<string>",
"arriveBefore": "<string>",
"maxResults": 25,
"maxProviders": 6,
"providers": [],
"maxCredits": "<string>",
"externalUserId": "<string>",
"attribution": {}
}
'import requests
url = "https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview"
payload = {
"origin": "<string>",
"destination": "<string>",
"departureDate": "2023-12-25",
"returnDate": "2023-12-25",
"adults": 1,
"children": 0,
"infants": 0,
"cabinClass": "economy",
"currency": "USD",
"optimize": [],
"preferredAirlines": ["<string>"],
"excludedAirlines": ["<string>"],
"preferredAirports": ["<string>"],
"excludedAirports": ["<string>"],
"maxStops": 1,
"minLayoverMinutes": 720,
"maxLayoverMinutes": 1440,
"maxDurationMinutes": 5055,
"maxPrice": 123,
"departAfter": "<string>",
"departBefore": "<string>",
"arriveAfter": "<string>",
"arriveBefore": "<string>",
"maxResults": 25,
"maxProviders": 6,
"providers": [],
"maxCredits": "<string>",
"externalUserId": "<string>",
"attribution": {}
}
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({
origin: '<string>',
destination: '<string>',
departureDate: '2023-12-25',
returnDate: '2023-12-25',
adults: 1,
children: 0,
infants: 0,
cabinClass: 'economy',
currency: 'USD',
optimize: [],
preferredAirlines: ['<string>'],
excludedAirlines: ['<string>'],
preferredAirports: ['<string>'],
excludedAirports: ['<string>'],
maxStops: 1,
minLayoverMinutes: 720,
maxLayoverMinutes: 1440,
maxDurationMinutes: 5055,
maxPrice: 123,
departAfter: '<string>',
departBefore: '<string>',
arriveAfter: '<string>',
arriveBefore: '<string>',
maxResults: 25,
maxProviders: 6,
providers: [],
maxCredits: '<string>',
externalUserId: '<string>',
attribution: {}
})
};
fetch('https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview', 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.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview",
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([
'origin' => '<string>',
'destination' => '<string>',
'departureDate' => '2023-12-25',
'returnDate' => '2023-12-25',
'adults' => 1,
'children' => 0,
'infants' => 0,
'cabinClass' => 'economy',
'currency' => 'USD',
'optimize' => [
],
'preferredAirlines' => [
'<string>'
],
'excludedAirlines' => [
'<string>'
],
'preferredAirports' => [
'<string>'
],
'excludedAirports' => [
'<string>'
],
'maxStops' => 1,
'minLayoverMinutes' => 720,
'maxLayoverMinutes' => 1440,
'maxDurationMinutes' => 5055,
'maxPrice' => 123,
'departAfter' => '<string>',
'departBefore' => '<string>',
'arriveAfter' => '<string>',
'arriveBefore' => '<string>',
'maxResults' => 25,
'maxProviders' => 6,
'providers' => [
],
'maxCredits' => '<string>',
'externalUserId' => '<string>',
'attribution' => [
]
]),
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.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview"
payload := strings.NewReader("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"departureDate\": \"2023-12-25\",\n \"returnDate\": \"2023-12-25\",\n \"adults\": 1,\n \"children\": 0,\n \"infants\": 0,\n \"cabinClass\": \"economy\",\n \"currency\": \"USD\",\n \"optimize\": [],\n \"preferredAirlines\": [\n \"<string>\"\n ],\n \"excludedAirlines\": [\n \"<string>\"\n ],\n \"preferredAirports\": [\n \"<string>\"\n ],\n \"excludedAirports\": [\n \"<string>\"\n ],\n \"maxStops\": 1,\n \"minLayoverMinutes\": 720,\n \"maxLayoverMinutes\": 1440,\n \"maxDurationMinutes\": 5055,\n \"maxPrice\": 123,\n \"departAfter\": \"<string>\",\n \"departBefore\": \"<string>\",\n \"arriveAfter\": \"<string>\",\n \"arriveBefore\": \"<string>\",\n \"maxResults\": 25,\n \"maxProviders\": 6,\n \"providers\": [],\n \"maxCredits\": \"<string>\",\n \"externalUserId\": \"<string>\",\n \"attribution\": {}\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.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"departureDate\": \"2023-12-25\",\n \"returnDate\": \"2023-12-25\",\n \"adults\": 1,\n \"children\": 0,\n \"infants\": 0,\n \"cabinClass\": \"economy\",\n \"currency\": \"USD\",\n \"optimize\": [],\n \"preferredAirlines\": [\n \"<string>\"\n ],\n \"excludedAirlines\": [\n \"<string>\"\n ],\n \"preferredAirports\": [\n \"<string>\"\n ],\n \"excludedAirports\": [\n \"<string>\"\n ],\n \"maxStops\": 1,\n \"minLayoverMinutes\": 720,\n \"maxLayoverMinutes\": 1440,\n \"maxDurationMinutes\": 5055,\n \"maxPrice\": 123,\n \"departAfter\": \"<string>\",\n \"departBefore\": \"<string>\",\n \"arriveAfter\": \"<string>\",\n \"arriveBefore\": \"<string>\",\n \"maxResults\": 25,\n \"maxProviders\": 6,\n \"providers\": [],\n \"maxCredits\": \"<string>\",\n \"externalUserId\": \"<string>\",\n \"attribution\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.paywithlocus.com/api/wrapped/credits/locus-travel/flight-search/preview")
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 \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"departureDate\": \"2023-12-25\",\n \"returnDate\": \"2023-12-25\",\n \"adults\": 1,\n \"children\": 0,\n \"infants\": 0,\n \"cabinClass\": \"economy\",\n \"currency\": \"USD\",\n \"optimize\": [],\n \"preferredAirlines\": [\n \"<string>\"\n ],\n \"excludedAirlines\": [\n \"<string>\"\n ],\n \"preferredAirports\": [\n \"<string>\"\n ],\n \"excludedAirports\": [\n \"<string>\"\n ],\n \"maxStops\": 1,\n \"minLayoverMinutes\": 720,\n \"maxLayoverMinutes\": 1440,\n \"maxDurationMinutes\": 5055,\n \"maxPrice\": 123,\n \"departAfter\": \"<string>\",\n \"departBefore\": \"<string>\",\n \"arriveAfter\": \"<string>\",\n \"arriveBefore\": \"<string>\",\n \"maxResults\": 25,\n \"maxProviders\": 6,\n \"providers\": [],\n \"maxCredits\": \"<string>\",\n \"externalUserId\": \"<string>\",\n \"attribution\": {}\n}"
response = http.request(request)
puts response.read_body{
"object": "locus.travel_flight_search.preview",
"capability": "travel.flight_search",
"request": {
"origin": "<string>",
"destination": "<string>",
"departureDate": "2023-12-25",
"returnDate": "2023-12-25",
"adults": 1,
"children": 0,
"infants": 0,
"cabinClass": "economy",
"currency": "USD",
"optimize": [
"cost"
],
"preferredAirlines": [
"<string>"
],
"excludedAirlines": [
"<string>"
],
"preferredAirports": [
"<string>"
],
"excludedAirports": [
"<string>"
],
"maxStops": 1,
"minLayoverMinutes": 720,
"maxLayoverMinutes": 1440,
"maxDurationMinutes": 5055,
"maxPrice": 123,
"departAfter": "<string>",
"departBefore": "<string>",
"arriveAfter": "<string>",
"arriveBefore": "<string>",
"maxResults": 25,
"maxProviders": 6,
"providers": [
"aircanada"
],
"maxCredits": "<string>",
"externalUserId": "<string>",
"attribution": {}
},
"providers": [
{
"providerId": "<string>",
"providerName": "<string>",
"estimatedCostCredits": "<string>",
"priceExact": true,
"estimatedCostUsd": 1
}
],
"eligibleProviders": [
{
"providerId": "<string>",
"providerName": "<string>"
}
],
"ineligibleProviders": [
{
"providerId": "<string>",
"providerName": "<string>",
"reason": "credential_scope",
"detail": "<string>"
}
],
"estimatedCostCredits": "<string>",
"estimateExact": true,
"estimatedCostUsd": 1
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Tenant secret key (lcr_…). Server-side only.
Headers
Required only when the end-user JWT carries sid. Send the original high-entropy session value; sid is its SHA-256 fingerprint. Ignored for secret-key authentication.
16 - 128^[A-Za-z0-9][A-Za-z0-9._:-]{15,127}$Optional end-user identity for a tenant secret key. It must agree with body externalUserId when both are present. Case-sensitive immutable ID in the tenant namespace. Prefer an identity-provider subject, not an email address.
1 - 200^[A-Za-z0-9][A-Za-z0-9._:@/-]{0,199}$Body
Preferred and excluded values cannot overlap. minLayoverMinutes cannot exceed maxLayoverMinutes. Defaults are selected from optimize when optional depth controls are absent.
IATA code or place name. Three-letter codes are normalized to uppercase.
2 - 120Must differ from origin.
2 - 120Real calendar date in YYYY-MM-DD form.
Optional return date on or after departureDate.
1 <= x <= 90 <= x <= 8Cannot exceed adults. Total travelers cannot exceed nine.
0 <= x <= 4economy, premium_economy, business, first ^[A-Za-z]{3}$Cost favors fewer inexpensive sources, quality increases depth, and context favors compact agent-readable output.
3cost, quality, context 201 - 100201 - 100201 - 100201 - 1000 <= x <= 30 <= x <= 14400 <= x <= 288030 <= x <= 10080Maximum itinerary price in currency.
x <= 10000000^(?:[01]\d|2[0-3]):[0-5]\d$^(?:[01]\d|2[0-3]):[0-5]\d$^(?:[01]\d|2[0-3]):[0-5]\d$^(?:[01]\d|2[0-3]):[0-5]\d$1 <= x <= 501 <= x <= 11Optional explicit provider selection, still narrowed by credential, catalog, availability, and request compatibility.
11aircanada, duffel, stabletravel, almosafer, flightconnections, justfly, kayak_hk, skyscanner, skiplagged, trip, united Aggregate no-dispatch ceiling for all selected child calls, in account credits.
^(?:0*[1-9]\d*)(?:\.\d{1,6})?$|^0*\.0*[1-9]\d{0,5}$Case-sensitive immutable ID in the tenant namespace. Prefer an identity-provider subject, not an email address.
1 - 200^[A-Za-z0-9][A-Za-z0-9._:@/-]{0,199}$Optional JSON attribution copied to child calls.
Response
No-dispatch provider plan and aggregate estimate
Preferred and excluded values cannot overlap. minLayoverMinutes cannot exceed maxLayoverMinutes. Defaults are selected from optimize when optional depth controls are absent.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Non-negative exact decimal string with at most six fractional digits. Endpoint-specific positivity and amount limits still apply.
^\d+(?:\.\d{1,6})?$Shown only to secret-key and dashboard principals.
x >= 0