List all packs
List the packs of the company with cursor-based pagination. - Filter by search, slug (also finds previous slugs), sku, tag, channel, status, availability[in] and updated[gte]. - Sort with sort on created, name or price (prefix - for descending). - view=storefront returns only the packs on sale on the web, without internal fields. - Conditional reads: send If-None-Match to get 304 with no body.
Your API key as a bearer token: fact_live_… in production, fact_test_… in sandbox. See the authentication guide.
In: header
Path Parameters
Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).
uuidQuery Parameters
Day (YYYY-MM-DD, company time zone) the promotion is resolved for; default today. A date-time uses its day.
Malformed: 400 parameter_invalid_iso8601.
Number of objects to return, between 1 and 100 (default 25).
251 <= value <= 100Cursor for forward pagination: pass the id of the last object on the previous page (the next_cursor of the previous response).
uuidCursor for backward pagination: pass the id of the first object on the current page.
uuidPack slug. It also finds the packs that used it before. Exact match on slug.
Pack SKU. Exact match on sku.
Classification tag. Exact match on tag.
Sales channel the pack is enabled for: documents or web. Exact match on channel.
"documents" | "web"Pack status: active, inactive or archived. Exact match on status.
"active" | "inactive" | "archived"Availability: in_stock, low, out_of_stock or untracked. Supports several values with availability[in]. Exact match on availability.
"in_stock" | "low" | "out_of_stock" | "untracked"Availability: in_stock, low, out_of_stock or untracked. Supports several values with availability[in]. Comma-separated list. Any of the values matches.
Last update date (ISO 8601). Greater than or equal to the given value.
date-timeSort order: created, name, price ascending, or with a - prefix for descending (default created, oldest first).
"created" | "-created" | "name" | "-name" | "price" | "-price"Free-text search. Escaped LIKE %term% (case-insensitive, max 80 chars) across the resource's key text columns, combined with the other filters (AND) and compatible with the cursor.
length <= 80Shape of the pack: all (default) returns the full pack, storefront only what a web shop may show, and only for packs on sale there; any other pack answers 404.
"all""all" | "storefront"Headers
Conditional request: send the ETag you stored from a previous response of this operation (quoted, as received) to get 304 Not Modified without a body when the content has not changed. Omit it to always receive the full response.
Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.
dateResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json