Skip to content

List offerings

GET
/offerings
curl --request GET \
--url 'https://quikstik-core.fly.dev/offerings?limit=50' \
--header 'Authorization: Bearer <token>' \
--header 'x-tenant-id: 2489E9AD-2EE2-8E00-8EC9-32D5F69181C0'

Returns a minimal list of offerings visible to the caller.

Notes:

  • This is a contract skeleton. Filtering, publication rules, and channel visibility are TBD.
  • Offerings are modeled broadly to allow time-based rentals, participant-based experiences, and traditional SKU commerce without forcing a single vertical.
x-tenant-id
required
string format: uuid

Tenant identifier (UUID).

Authn/authz semantics are intentionally TBD for this contract slice; this header exists to keep the contract explicitly multi-tenant from day 0.

cursor
string

Opaque pagination cursor (TBD).

limit
integer
default: 50 >= 1 <= 200

Page size (TBD).

Offerings page

Media typeapplication/json
object
items
required
Array<object>
object
offering_id
required
string format: uuid
catalog_product_id

Tenant-defined stable product identifier (e.g. Island Time v1: T1, T2, R1…). This contract does not enumerate tenant-specific values.

string
nullable
display_name
required

Presentation-oriented name (not a stable identifier).

string
kind

Offering kind discriminator (vocabulary only). Examples: experience, rental, sku. Semantics and allowed values are TBD.

string
nullable
next_cursor

Opaque pagination cursor (TBD).

string
nullable

Example generated

{
"items": [
{
"offering_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"catalog_product_id": "example",
"display_name": "example",
"kind": "example"
}
],
"next_cursor": "example"
}