Vendor product inventory endpoint
This SOP explains the vendor-facing API endpoint that uses a named API key to return inventory item data across all Shopify locations or for a single location.
Why we are doing this
Some Beach Blend vendors need a direct way to see how their products are moving across our POS locations so they can plan production, replenishment, and delivery timing. This endpoint gives them that visibility without giving them access to the rest of our internal systems.
What the endpoint provides
- Simplified inventory rows for a specific vendor
- A response across all Shopify locations by default, even when the vendor products are not on the first Shopify results page
- Optional filtering down to one location by ID or exact location name
- Per-location available, on hand, committed, and incoming quantities for ACTIVE products only
Endpoint
GET /api/vendor/products
Authentication can use the X-Beach-Blend-Inventory-Api-Key header for GET requests or an api_key field in JSON for POST requests.
Query parameters
- vendor: optional exact vendor name filter
- location_id: optional Shopify location GID
- location_name: optional exact location name
- first: optional result size, up to 250 variants
- query: optional additional Shopify variant search string
- api_key: for POST requests, the named API key can be sent in the JSON body
Response model
- shop: connected Shopify shop
- api_key_name: name of the API key used
- vendor_filter and location_filter: request filters applied
- items: simplified inventory rows with product_title, optional variant_title, total_available, and locations
- count: number of rows returned
Item shape example
{
"product_title": "Chocolate Chip Granola",
"variant_title": "12 oz bag",
"total_available": 42,
"locations": [
{
"location_name": "Beach Blend @ la bomba",
"available": -14,
"on_hand": -14,
"committed": 0,
"incoming": 0
}
]
}
curl example: all locations
curl -G "https://inventory.ticosync.com/api/vendor/products" \
-H "X-Beach-Blend-Inventory-Api-Key: bbi_your_named_key_here" \
--data-urlencode "vendor=Beach Blend Bakery" \
--data-urlencode "first=100"
curl example: one location
curl -G "https://inventory.ticosync.com/api/vendor/products" \
-H "X-Beach-Blend-Inventory-Api-Key: bbi_your_named_key_here" \
--data-urlencode "vendor=Beach Blend Bakery" \
--data-urlencode "location_name=Nosara Store" \
--data-urlencode "first=100"
curl example: POST with JSON api_key
curl -X POST "https://inventory.ticosync.com/api/vendor/products" \
-H "Content-Type: application/json" \
-d "{"api_key":"bbi_your_named_key_here","vendor":"Beach Blend Bakery","location_name":"Nosara Store","first":100}"
Operational guidance
- Create a dedicated named API key for each vendor instead of sharing one key across vendors.
- Use the key description to record which vendor or system owns the key.
- Rotate or delete the key if the vendor no longer needs access.
- When we extend this API, this SOP must be updated with the new behavior and examples.