Skip to main content
GET
Availability log
Returns a sparse change log of how many items are available for a variant, with time-of-day precision, from the earliest possible rental start through 12 months. Use it instead of the availability timeline when you need to build hourly or time-slot pickers. The occupancy array is a chronological list of change points. Each { at, available } entry means that from at onward, available items are free until the next entry. The first entry is the opening level, and a trailing entry with available of 0 marks the end of the bookable window. Availability only changes at a handful of instants, so the array stays small. at is a shop-local timestamp with no offset (YYYY-MM-DDTHH:MM:SS). Interpret it in the shop’s time zone and don’t apply a UTC offset. The counts already account for the selected delivery and return methods, including their preparation and restock times. Those buffers can be set in hours, so an item that comes back at 2 pm with a 6-hour restock isn’t available again until 8 pm, and a slot earlier that evening reports as unavailable. oversellable is true when the variant is set to sell past the items in stock. Treat inventoryCount as a count rather than a cap and keep every instant after the opening entry bookable, however low the count runs. See Overselling items.

Shipping destination

On stores using the new shipping settings, send where the order will ship to. Availability then uses only the shipping rates that reach that destination, including a sub-zone’s transit time for its postal code. Send country_code, and optionally province_code and postal_code.
Availability shipping to a postal code
Send the same destination to the Intent endpoint so the dates added to the cart match.

Path Parameters

proxy_path_prefix
string
required

The Shopify proxy path prefix configured for the app (e.g., 'customer_portal')

Query Parameters

variant_shopify_id
integer
required

Shopify ID of the variant to check availability for

location_id
integer

Optional Shopify location ID to filter items by location

delivery_method_type
enum<string>

Delivery method type used to calculate logistics padding (defaults to the shop's default delivery method)

Available options:
shipping,
pick_up
return_method_type
enum<string>

Return method type used to calculate logistics padding (defaults to the shop's default return method)

Available options:
shipping,
drop_off
logistics[delivery_method][destination][country_code]
string

Two-letter country code the order will ship to. Optional. Only stores on the new shipping settings use it: availability then goes by the shipping rates that reach this country. Leave it out to use every rate. The province and postal code are ignored without it.

Example:

"CH"

logistics[delivery_method][destination][province_code]
string

Province or state code the order will ship to, for zones that cover only part of a country. Optional.

logistics[delivery_method][destination][postal_code]
string

Postal code the order will ship to. Optional. A postal code in a sub-zone uses the sub-zone's transit time.

Example:

"1934"

Response

Successful response with the availability change log

occupancy
object[]
required

Chronological list of availability changes. Each entry sets the number of available items from its at instant until the next entry. The first entry is the opening level; a trailing entry with available 0 bounds the end of the window.

inventoryCount
integer
required

Total number of available items for the variant

oversellable
boolean
required

True when the variant is set to sell past the items in stock. Read inventoryCount as a count rather than a cap: the variant stays bookable on dates where every item is already out.

futureAvailabilityInventoryCount
integer
required

Number of items not on an unbounded (open-ended) current rental — i.e. items that will eventually become available

uncommitedInventoryCount
integer
required

Number of items not committed to any current or future rental