Resmark API: Products
Products in Resmark represent the tours, activities, rentals, and other experiences your business offers for booking. The Product endpoints let you retrieve product listings, check available inventory with pricing, and look up pickup options.
Get All Products
GET /productReturns a paginated list of products.
Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Number of products to return. Default: 50. |
page | number | No | Pagination offset. With |
ids | csv | No | Filter by specific product ID(s). |
tagIds | csv | No | Filter to products matching the specified tag IDs. |
lastModified | ISO date | No | Returns products modified on or after this date. |
productNumbers | string | No | Filter by product number(s). Multiple values as CSV. |
productName | string | No | Filter by product name. Accepts full or partial name. |
Get Single Product
GET /product/{searchTerm}Returns a single product. The searchTerm can be a Product ID, Product Number, or Product Name.
Product Response Fields
Both endpoints above return the same product object structure. Key fields include:
Field | Type | Description |
|---|---|---|
id | string | Product ID |
productCode | string | Short product code |
name | string | Product name |
productNumber | number | Product number |
price | string | Marketing price (not the actual booking price; see Get Product Inventory below for real pricing) |
quantityLabel | string | Label for the quantity unit (e.g., "Guest") |
quantityType | string | Type of quantity (e.g., "participant") |
dateless | boolean | Whether the product has no specific dates |
overview | string | Full marketing description |
highlights | string | HTML highlights list |
shortDescription | string | Brief marketing description |
ageRestrictions | object | Contains |
class | string | Product class (e.g., "groupActivity") |
classTypes | array | List of activity type strings |
location | array | Location objects with id, name, address, city, state, postalCode, country |
modifiedDate | ISO date | Last modified date |
dateSettings | object | Scheduling info: months, startTime, details, duration, seasonal |
information | array | Named content sections (e.g., "What to Bring", "Includes") with |
videos | array | Video objects with url, vimeoId, youtubeId |
images | array | Image objects with small, medium, large, xlarge URLs |
pickup | object | Pickup configuration: mode, productZoneId, providerId, direction |
tags | array | Tag objects with id and name |
generalPolicies | array | Policy objects with name, detail, requireBeforeCart, requiredBeforeCheckout, displayConfirmationAfterPurchase |
cancellationPolicies | object | Contains id, name, detail HTML, and preference (e.g., "CALL_TO_CANCEL") |
price field on a product is a marketing price for display purposes. For actual booking prices, use the Get Product Inventory endpoint below.Get Reseller Product
GET /product/{id}/searchReseller/{resellerEntityId}Returns a product with reseller-specific customizations applied. When a reseller connected through TrueConnect has overridden product details (name, description, pricing, images), this endpoint returns the customized version.
Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Product ID or Product Number |
resellerEntityId | string | Yes | Reseller Business ID, found in the URL at TrueConnect > Connected Reseller > Manage Connection |
Get Product Inventory
GET /product/{id}/itemReturns available dates, times, pricing per tier, and availability counts for a product. This is where you get the activityId needed to add inventory to a cart.
Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Product ID or Product Number |
from | string | No | Minimum start date. Format: |
to | string | No | Maximum start date. Format: |
pricingcode | string | No | Price category code. Defaults to the default pricing category. |
Response structure:
The response contains an items array and a priceTiers object.
Each item in the array represents a date, with a timesAvailable array containing individual time slots:
Field | Type | Description |
|---|---|---|
items[].date | string | Date (YYYY-MM-DD) |
items[].timesAvailable[].activityId | string | The ID used to add this time slot to a cart. Passed as |
items[].timesAvailable[].startTime | ISO date | Start time in UTC |
items[].timesAvailable[].endTime | ISO date | End time in UTC |
items[].timesAvailable[].total | number | Total available seats |
items[].timesAvailable[].tiersAvailable | object | Available seats per tier key |
items[].timesAvailable[].restrictOrdersWithin | number | Order cutoff in days |
items[].timesAvailable[].restrictOrdersWithinMinutes | number | Order cutoff in minutes |
items[].timesAvailable[].price | object | Price per tier key (e.g., |
The priceTiers object contains tier definitions keyed by tier ID, each with key, label, deposit, and ageRange (from/to).
activityId from this endpoint is the same value you pass as itemId when adding inventory to a cart. The naming is different between endpoints, but the value is the same.Get Product Pickup Options
GET /product/{id}/pickupReturns pickup zones, locations, and pickup detail IDs for a product. Required when a product has pickups configured. The pickupDetailId and locationId from this response are used when adding inventory to a cart.
Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Product ID or Product Number |
Response structure:
Field | Type | Description |
|---|---|---|
data[].id | string | Pickup zone ID |
data[].name | string | Pickup zone name |
data[].locations | array | Location objects with |
data[].pickupDetails | array | Pickup detail objects with |
Finding Product IDs
Product IDs can be found in the URL when viewing a product in Resmark. Navigate to Products, then click a product name. The Product ID is in the URL.
Updated on: 06/24/2026
Thank you!
