🔗 CheckoutStorefront

List storefront products

List active, cart-eligible products with browser-safe display data, active prices, and derived availability. Only products listed on the Storefront are returned (store_visibility visible, or scheduled and due). Intended for publishable-key storefront and CMS-picker use; never returns product metadata or internal fields.

GET/storefront/products

List active, cart-eligible products with browser-safe display data, active prices, and derived availability. Only products listed on the Storefront are returned (store_visibility visible, or scheduled and due). Intended for publishable-key storefront and CMS-picker use; never returns product metadata or internal fields.


Related endpoints

  • GET /storefront/products/{productId} — Get a storefront product
  • GET /storefront/origins — List storefront origins
  • POST /storefront/origins — Register a storefront origin
  • DELETE /storefront/origins/{originId} — Remove a storefront origin
  • GET /storefront/status — Get storefront integration status

Common errors

  • 401 authentication_error — missing, invalid, expired, or revoked credential. Codes: authentication_failed, invalid_api_key, expired_api_key, api_key_revoked, session_invalid, merchant_required. Carries a WWW-Authenticate: Bearer challenge.
  • 403 authorization_error — the caller is identified but the action is denied. Codes include insufficient_permissions, ip_not_allowed, merchant_mismatch, and origin_not_allowed.

Pagination

Offset-based with limit (default 25, max 100) and offset. The response pagination block includes total and hasMore. See the pagination guide for SDK auto-paging helpers.

x-api-key<token>

Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.

In: header

Query Parameters

limit?integer

Maximum products to return (default 50, max 100).

Range1 <= value <= 100
offset?|

Products to skip, for pagination.

Range0 <= value <= 10000
collection?string

Only products in this product collection (id or URL handle).

Length1 <= length <= 80
tag?string

Only products carrying this tag.

Length1 <= length <= 50
search?string

Case-insensitive match on product name or description.

Length1 <= length <= 100
sort?string

featured (collection order, else newest), newest, name, price_asc or price_desc.

Value in

  • "featured"
  • "newest"
  • "name"
  • "price_asc"
  • "price_desc"

Response Body

application/json

application/json

application/json

application/json

Stuck on an error response? Ask the RevKeen assistant to explain it.
curl -X GET "https://api.revkeen.com/v2/storefront/products?limit=10&offset=1" \
  -H "x-api-key: $REVKEEN_API_KEY"

Synthetic documentation data, validated against the response schema; not a live API result.

{  "data": [    {      "id": "00000000-0000-4000-8000-000000000001",      "object": "product",      "product_id": "string",      "slug": "string",      "name": "Example customer",      "description": "string",      "kind": "string",      "pricing_model": "string",      "currency": "string",      "image_url": "string",      "default_price_id": "string",      "prices": [        {          "id": "00000000-0000-4000-8000-000000000001",          "product_id": "00000000-0000-4000-8000-000000000001",          "currency": "string",          "unit_amount": 0,          "unit_amount_decimal": "string",          "type": "string",          "interval": "string",          "interval_count": 0,          "billing_scheme": "string",          "usage_type": "string",          "package_size": 0,          "trial_period_days": 0,          "option_values": {            "property1": "string",            "property2": "string"          },          "sku": "string",          "image_url": "string"        }      ],      "trial_days": 0,      "usage_meter_id": "string",      "tax_behavior": "string",      "tax_code": "string",      "availability": {        "status": "unknown",        "remaining": 0,        "display_mode": "string",        "low_stock_threshold": 0      },      "tags": [        "string"      ],      "images": [        {          "url": "https://example.com/webhooks/revkeen",          "alt": "string",          "source": "string",          "photographer": "string",          "attribution_url": "string"        }      ],      "seo_title": "string",      "seo_description": "string"    }  ]}

Put this endpoint to work