API ReferenceEndpointsPublic API (v1)Get kit components

Get kit components

Returns the kit's components with each one's live price and stock, the resolved kit price, its per-component split, the pricing mode, and how many kits can be sold. A component whose product or pinned variant is not published reports zero stock and takes the kit's sellable count to zero with it, however much stock the other components hold. A product that is not a KIT returns an empty, unsellable shape rather than a 404.

GET
/v1/products/{id}/kit-components
AuthorizationBearer <token>

Admin API key (server-to-server). Issue via the dashboard at Settings → API keys. Plain-text key is shown once — store in a secret manager. Format: Authorization: Bearer brainerce_xxxxxxxxx.

In: header

Path Parameters

idstring

Kit product ID

curl -X GET "https://api.brainerce.com/api/v1/products/string/kit-components"
{
  "components": [
    {
      "id": "pkc_01H...",
      "componentProductId": "prod_01H...",
      "componentVariantId": "pv_01H...",
      "quantity": 2,
      "position": 0,
      "name": "Riedel tumbler — 300ml",
      "sku": "GLS-300",
      "unitPrice": "12.90",
      "available": 40,
      "image": "https://cdn.example.com/glass.jpg"
    }
  ],
  "pricingMode": "FIXED",
  "discountValue": 10,
  "price": "246.00",
  "allocationMinor": [
    13536,
    7973,
    3091
  ],
  "available": 12
}

{
  "statusCode": 401,
  "code": "UNAUTHORIZED",
  "message": "Invalid or expired credential",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/products/{id}/kit-components"
}

{
  "statusCode": 403,
  "code": "INSUFFICIENT_SCOPE",
  "message": "API key does not have the required scope: products:write",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/products/{id}/kit-components"
}

{
  "statusCode": 429,
  "code": "RATE_LIMITED",
  "message": "Too many requests",
  "details": {
    "retryAfterSeconds": 12
  },
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/store"
}