> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/stan-store/creators-handle-products-slug-availability>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/stan-store/creators-handle-products-slug-availability.mdx>

---

# Stan Store Availability API

Free meeting slots and upcoming webinar sessions for one product, in the timezone and window you ask for.

`GET /v1/stan-store/creators/{handle}/products/{slug}/availability` returns `lookupStatus`, `reason`, `handle`, `productSlug`, `product`, `kind`, `timezone`, `startDate`, `endDate`, `slots` and `sessions`.

`kind` is `meeting`, `webinar` or `none`. A meeting returns `slots[]` with `start` and `end` as ISO 8601 strings carrying the requested (or product) timezone's UTC offset. A webinar returns `sessions[]` with `start`, `end`, `timezone`, `availableSeats` and `bookedSeats`. A product that takes no bookings returns `kind: none` with both arrays empty.

Optional query parameters are `timezone` (an IANA name, defaulting to the product's own timezone), `startDate` and `endDate` (`YYYY-MM-DD`, bounding the meeting window). The default start is today in the requested timezone and the default end is 14 days later, capped by the product's booking window. `endDate` earlier than `startDate` is a 400. A valid meeting can still have zero free slots in the requested window, so an empty `slots` array is not an error. On a miss, `product` can be non-null when the product exists but its booking details do not, so read `kind` and the arrays as well as `lookupStatus`.

## Request

- **Endpoint:** `GET /v1/stan-store/creators/{handle}/products/{slug}/availability`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by creator, slug and window
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/stan-store/creators/handle/products/slug/availability/get)
- **Platform page:** [/platforms/stan-store](https://www.socialfetch.dev/platforms/stan-store)

## FAQ

### How do I get meeting slots rather than webinar sessions?

Call the route on a product whose product.meeting is non-null and carries a bookingSlug. kind comes back meeting. For a webinar product, kind comes back webinar and sessions holds the dates instead. A product with neither returns kind none.

### What window does the route use?

startDate and endDate bound the meeting window, both in YYYY-MM-DD. Leave both out and the window is today in the requested timezone plus 14 days. Leave endDate out and the end is 14 days after startDate. The product's booking window caps the end date, and an endDate earlier than startDate is a 400. timezone chooses the IANA timezone for the returned times and defaults to the product's setting.

### Why is lookupStatus not_found but product is present?

The product page can exist while its booking configuration does not. In that case lookupStatus is not_found, product still describes the product, and slots and sessions are empty. Check kind and the arrays, not just product.

### Can a found meeting have no slots?

Yes. A meeting with no free time in the requested window returns lookupStatus found, kind meeting and an empty slots array. That is a valid answer, not an error or a not_found.

### How many credits does an availability lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.

### What do availableSeats and bookedSeats mean?

On a webinar session from this route, availableSeats is the remaining seat count and bookedSeats is the count already taken. Either can be null when the session does not state a seat count. The product route's webinar sessions carry null seat counts; use this route for seats.
