SDK
import { createVoyantConnectClient } from "@voyant-travel/connect-sdk";
const connect = createVoyantConnectClient({ apiKey: process.env.VOYANT_API_KEY });
const result = await connect.cruises.list();curl --request GET \
--url https://api.voyant.travel/connect/v1/operators/<operatorId>/cruises \
--header 'Authorization: Bearer <token>'const response = await fetch("https://api.voyant.travel/connect/v1/operators/<operatorId>/cruises", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();import requests
response = requests.get(
"https://api.voyant.travel/connect/v1/operators/<operatorId>/cruises",
headers={
"Authorization": "Bearer <token>"
}
)
data = response.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.voyant.travel/connect/v1/operators/{operatorId}/cruises",
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.voyant.travel/connect/v1/operators/{operatorId}/cruises"
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.voyant.travel/connect/v1/operators/{operatorId}/cruises")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voyant.travel/connect/v1/operators/{operatorId}/cruises")
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{
"data": [
{
"id": "<string>",
"connectionId": "<string>",
"externalId": "<string>",
"name": "<string>",
"cruiseType": "<string>",
"nights": 123,
"locale": "<string>",
"supplierName": "<string>",
"cruiseLineExternalId": "<string>",
"shipExternalId": "<string>",
"slug": "<string>",
"status": "<string>",
"destinations": [
"<string>"
],
"embarkationPortCode": "<string>",
"disembarkationPortCode": "<string>",
"market": "<string>",
"currency": "<string>",
"priceFromAmountMinor": 123,
"priceFromCurrency": "<string>",
"sourceKind": "<string>",
"sourceProvider": "<string>",
"sourceConnectionId": "<string>",
"sourceRef": "<string>",
"sourceFreshness": "<string>",
"lastSourcedAt": "2023-11-07T05:31:56Z",
"projection": {},
"projectionSchemaVersion": "<string>",
"projectionEtag": "<string>",
"projectionSeenAt": "2023-11-07T05:31:56Z",
"payload": {},
"lastSyncedAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"providerKey": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}Cruises
List cruises (operator-scoped)
Lists Connect-normalized cruise rows across the operator’s connections. Each row carries provenance (sourceRef, sourceProvider, lastSourcedAt), the catalog projection + projectionSchemaVersion, market, currency, and a price-from in minor units.
GET
/
connect
/
v1
/
operators
/
{operatorId}
/
cruises
SDK
import { createVoyantConnectClient } from "@voyant-travel/connect-sdk";
const connect = createVoyantConnectClient({ apiKey: process.env.VOYANT_API_KEY });
const result = await connect.cruises.list();curl --request GET \
--url https://api.voyant.travel/connect/v1/operators/<operatorId>/cruises \
--header 'Authorization: Bearer <token>'const response = await fetch("https://api.voyant.travel/connect/v1/operators/<operatorId>/cruises", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();import requests
response = requests.get(
"https://api.voyant.travel/connect/v1/operators/<operatorId>/cruises",
headers={
"Authorization": "Bearer <token>"
}
)
data = response.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.voyant.travel/connect/v1/operators/{operatorId}/cruises",
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.voyant.travel/connect/v1/operators/{operatorId}/cruises"
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.voyant.travel/connect/v1/operators/{operatorId}/cruises")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voyant.travel/connect/v1/operators/{operatorId}/cruises")
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{
"data": [
{
"id": "<string>",
"connectionId": "<string>",
"externalId": "<string>",
"name": "<string>",
"cruiseType": "<string>",
"nights": 123,
"locale": "<string>",
"supplierName": "<string>",
"cruiseLineExternalId": "<string>",
"shipExternalId": "<string>",
"slug": "<string>",
"status": "<string>",
"destinations": [
"<string>"
],
"embarkationPortCode": "<string>",
"disembarkationPortCode": "<string>",
"market": "<string>",
"currency": "<string>",
"priceFromAmountMinor": 123,
"priceFromCurrency": "<string>",
"sourceKind": "<string>",
"sourceProvider": "<string>",
"sourceConnectionId": "<string>",
"sourceRef": "<string>",
"sourceFreshness": "<string>",
"lastSourcedAt": "2023-11-07T05:31:56Z",
"projection": {},
"projectionSchemaVersion": "<string>",
"projectionEtag": "<string>",
"projectionSeenAt": "2023-11-07T05:31:56Z",
"payload": {},
"lastSyncedAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"providerKey": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"requestId": "<string>",
"details": {}
}Authorizations
Provide either a static platform API key or an OAuth2 access token (from /connect/v1/oauth/token) as Authorization: Bearer <token>. Scopes are connect:* (e.g. connect:bookings:write).
Path Parameters
Operator id.
Query Parameters
Restrict to one or more connections (repeat the param for multiple).
Restrict to one or more provider keys (repeat the param for multiple).
Response
Cruise rows.
Show child attributes
Show child attributes
⌘I