Get Variant Detail
GET/api/faire/instances/:integrationInstance/products/:option
Detail view of a single FaireProductOption (variant), powering the Faire variant detail page in application UI.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Eager-loaded relationships:
product— parentFaireProduct(status, product_type, image_url, wholesale_price_minimum, currency_code, brand_name, description)product.options.productListing.product.defaultFinancialLineType— sibling variants and their sku.io mappingproductListing.product.defaultFinancialLineType— the sku.io product this variant is mapped to (if any)
Response shape:
id,integration_instance_id,faire_product_id,faire_variant_id,sku,nameproduct_name,product_status,product_type,product_image_url— copied from parent productproduct_brand_name,product_description— derived from the parentFaireProduct.raw_dataJSON via Eloquent accessors (Faire does not store these as dedicated columns)product_wholesale_price_minimum,product_currency_codeinventory_quantity,faire_inventory_quantity,wholesale_priceproduct—{ id, sku, name, type, default_financial_line_type_id, default_financial_line_type }of the mapped sku.io product (null if unmapped).typeis the SKU.ioproducts.typevalue (single,variation, etc.).sibling_options[]— other variants on the sameFaireProduct, each with their own mapping status; siblingproduct_listing_productnow includestypeas wellarchived_at— ISO timestamp; non-null indicates the variant is archivedcreated_at,updated_at— ISO timestamps
Note: Faire's full raw_data payload is NOT included here for performance reasons. Fetch it on-demand via GET /api/faire/instances/:integrationInstance/products/:option/raw.
Note: faire_product_id is the Faire-issued product ID (e.g. p_3bz2tdhtkq), sourced from the parent FaireProduct. It is NOT the internal faire_product_options.faire_product_id foreign key.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.