Bill of Materials API

Get access to your bill of materials data through Cloudbox's v1 API.

Retrieving Bill of Materials

Bill-of-materials lines. Each row is one ingredient product used to make a finished-good SKU. variant_id null = the SKU's base BOM; otherwise the line belongs to that BOM variant. Kits use the same lines for their contents. GET /skus/{id} also returns a SKU's full BOM.

Use GET /api/v1/bom-lines to page through every record in your organization, or GET /api/v1/bom-lines/{id} to fetch a single record. The id is a UUID, and a 404 means it doesn't exist in your organization.

API Endpoint

GET
/api/v1/bom-lines
GET
/api/v1/bom-lines/{id}

Required Headers

Every request must include the following:

Header Key
Description
org-api-key
Your Organization API key. Contact Cloudbox Support For Access: support@cloudboxapp.com.
user-api-key
Your User API Key

Requests missing either header will return 401 Unauthorized

Example Request

bash curl -X GET "https://app.cloudboxapp.com/api/v1/bom-lines?limit=100" \ -H "org-api-key: YOUR_ORG_API_KEY" \ -H "user-api-key: YOUR_USER_API_KEY" \ -H "Accept: application/json"

Response Schema

Column
Type
Description
id
string (uuid)
Unique ID
sku_id
string, nullable
References SKU. Filterable (exact)
product_id
string, nullable
References Product. Filterable (exact)
variant_id
string (uuid), nullable
null = the SKU's base BOM; otherwise the BOM variant this line belongs to. Filterable (exact)
ingredient_product_id
string, nullable
References Product. Filterable (exact)
quantity
number
uom
string, nullable
liquid_fluid_ounce_quantity
number, nullable
notes
string, nullable
sort_order
integer
Sortable
created_at
string (ISO 8601)
Creation timestamp (UTC). Sortable
ingredient
object
Related record: id, name

Filters

limitPage size (default 100, max 1000)
offsetNumber of records to skip (default 0)
sortOne of: sort_order, created_at
orderasc | desc
sku_idBOM lines for this finished-good SKU
product_idBOM lines for this finished-good product
ingredient_product_idBOM lines that use this ingredient (where-used)
variant_idBOM lines for this BOM variant
default sortsort_order ascending

Errors

Cloudbox uses standard HTTP status codes to indicate API success or failure:

  • 200–299 – Request succeeded
  • 400 – Bad request (missing parameters, invalid values)
  • 401 – Unauthorized (missing or invalid API keys)
  • 404 – Resource not found
  • 429 – Too many requests (rate limited)