Skip to main content

Method

GET /v1/marketplace/offers/{id} Requires the catalog:read scope and workspace context.

Path Parameters

id
string
required
The offer ID (e.g., offr_abc123).

Headers

Authorization
string
required
Bearer token (e.g. Authorization: Bearer YOUR_API_KEY)
curl "https://api.voyantcloud.com/v1/marketplace/offers/offr_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "data": {
    "id": "offr_abc123",
    "providerId": "prov_viking",
    "externalOfferId": "VIKING-SUMMER-2024",
    "name": "Summer Mediterranean Savings",
    "description": "Save 10% on Mediterranean cruises this summer",
    "termsAndConditions": "Valid for new bookings only. Cannot be combined with other offers. Subject to availability.",
    "type": "percentage",
    "scope": "region",
    "value": "10",
    "currency": null,
    "maxDiscountAmountMinor": "50000",
    "minPurchaseAmountMinor": "200000",
    "validFrom": "2024-06-01T00:00:00Z",
    "validTo": "2024-08-31T23:59:59Z",
    "bookByDate": "2024-07-31T23:59:59Z",
    "travelFrom": "2024-06-01T00:00:00Z",
    "travelTo": "2024-09-30T23:59:59Z",
    "applicableProductIds": [],
    "applicableDepartureIds": [],
    "applicableCabinCategories": ["veranda", "suite"],
    "applicableRoomTypes": [],
    "applicableRegions": ["mediterranean", "aegean"],
    "excludedProductIds": [],
    "conditions": {
      "minNights": 7,
      "passengerType": "adult"
    },
    "combinableWithOtherOffers": false,
    "exclusiveOfferIds": ["offr_xyz789"],
    "status": "active",
    "lastSyncedAt": "2024-01-20T08:00:00Z",
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-20T08:00:00Z",
    "provider": {
      "id": "prov_viking",
      "kind": "cruise",
      "status": "active",
      "displayName": "Viking Cruises",
      "logoUrl": "https://assets.example.com/viking-logo.png",
      "description": "Award-winning river and ocean cruises"
    }
  }
}

Response Fields

data.maxDiscountAmountMinor
string
Maximum discount cap in minor units (cents). For percentage discounts, this limits the total discount amount.
data.minPurchaseAmountMinor
string
Minimum purchase amount required in minor units (cents) to qualify for the offer.
data.conditions
object
Provider-defined eligibility rules as a JSON object. Structure varies by provider.
data.combinableWithOtherOffers
boolean
Whether this offer can be stacked with other offers.
data.exclusiveOfferIds
array
List of offer IDs that are mutually exclusive with this offer.
data.lastSyncedAt
string
ISO 8601 timestamp of when the offer was last synced from the provider.
The offer must belong to a provider your workspace has an active connection to. Access to offers from unconnected providers will return a 404 error.