Products

List product variants

List the variants configured for a product, including optional price and stock overrides.

get/companies/{company}/products/{product}/variants

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/products/{product}/variants
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

productstring uuid required

Public identifier (UUID v7) of the product.

Query parameters

limitinteger

Number of objects to return, between 1 and 100 (default 25).

starting_afterstring uuid nullable

Cursor for forward pagination: pass the id of the last object on the previous page (the next_cursor of the previous response).

activeboolean

true returns only active items; false or omitted returns all of them.

Headers

Factuarea-Versionstring date
Example:2026-06-01

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.

Response

has_moreboolean required

Whether more pages are available after this one.

next_cursorstring nullable required

Opaque cursor for the next page, or null when has_more is false. The example below shows the shape used by most listings; others return a different one, so pass the value back verbatim instead of validating it.

Example response

{
  "data": [
    {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8b22",
      "object": "product_variant",
      "product_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a09",
      "name": "Superior",
      "sku": "VINO-RIOJA-SUP",
      "barcode": "8437012345685",
      "base_price_override": "3.90",
      "unit_cost_override": "2.40",
      "gross_weight_kg": "0.9500",
      "manage_stock": true,
      "stock": "25.0000",
      "low_stock_threshold": "5.0000",
      "specifications": {
        "crianza": "12 meses en barrica"
      },
      "active": true
    }
  ],
  "has_more": true,
  "next_cursor": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0c"
}

Changes

No recorded changes to this operation across all 1 revision of this API.