SubblySubbly
Log inGet started
  • Get started
  • Developer resources
Private API reference
Docs
Information
    Base URLAuthenticationPaginationErrors
Customer
    Get list of customersCreate a customerGet customer by IDUpdate a customerDelete a customerCredit a customer's store credit balanceCreate a customer noteUpdate a customer noteDelete a customer noteCreate a customer addressUpdate a customer addressDelete a customer addressGet list of customer pickup infoCreate customer pickup infoUpdate customer pickup infoDelete customer pickup infoCreate a customer payment methodDelete a customer payment method
Subscription
    Get list of subscriptionsCreate a subscriptionGet subscription by IDCancel a subscriptionUndo cancellationCreate a subscription itemShow a subscription itemUpdate a subscription itemRemove a subscription itemUpdate a subscription item's preferencesUpdate a subscription item's bundleApply a discount to a subscriptionRemove a subscription discount
Invoice
    Get list of invoicesGet invoice by IDSchedule the next payment for invoiceVoid an invoiceForgive an invoiceMark an invoice as paid
Order
    Get list of ordersGet order by IDUpdate an orderShip an orderCancel an orderMark an order as pendingArchive an orderMark an order as a future shipmentSync order shipping items
Payment Method
    Get payment method by ID
Transaction
    Get list of transactionsGet transaction by ID
Cancellation
    Get shop cancellation reasons
Product
    Get list of productsGet product by IDGet variant by IDUpdate variantGet plan by IDUpdate planCreate subscription productUpdate subscription productPublish subscription productUnpublish subscription productArchive subscription productSync subscription product metadataCreate one-time productUpdate one-time productPublish one-time productUnpublish one-time productArchive one-time productSync one-time product metadataCreate variantArchive variantBatch create/update/archive variantsCreate planArchive plan
Survey
    Get survey by IDGet list of surveys
Bundle
    Get list of bundlesCreate a new bundleGet bundle by IDUpdate a bundleGet list of bundle itemsCreate a bundle itemBatch create bundle itemsGet bundle item by IDUpdate a bundle itemDelete a bundle itemGet list of bundle groupsPublish a bundleUnpublish a bundleArchive a bundleSync bundle metadataCreate a bundle planGet bundle plan by IDUpdate a bundle planArchive a bundle plan
Tag
    Get list of tags
Metafield
    Get shop's metafieldsCreate a new metadataUpdate the metadata
Funnel
    Get list of funnelsGet funnel by ID
Option
    Get list of options
Country
    Get list of countries
Inventory
    Get list of inventory itemsCreate a new inventory itemGet inventory item by IDUpdate an inventory itemArchive an inventory itemGet list of inventory groupsCreate a new inventory groupGet inventory group by IDUpdate an inventory group
Coupon
    Get list of couponsCreate a couponGet coupon by IDUpdate a couponArchive a coupon
Product Collection
    Get list of product collectionsCreate a product collectionGet product collection by IDUpdate a product collectionPublish a product collectionUnpublish a product collectionArchive a product collectionGet list of collection groups with itemsSync collection items

Inventory

Private Inventory API endpoints

Endpoints
  • GET/inventory_items
  • POST/inventory_items
  • GET/inventory_items/{inventory_item_id}
  • PUT/inventory_items/{inventory_item_id}
  • POST/inventory_items/{inventory_item_id}/archive
  • GET/inventory_groups
  • POST/inventory_groups
  • GET/inventory_groups/{inventory_group_id}
  • PUT/inventory_groups/{inventory_group_id}

Get list of inventory items

GET /inventory_items

Query parameters

pageoptionalinteger

Page number

Defaults to 1.

per_pageoptionalinteger

Items per page

Defaults to 15.

group_idoptionalinteger

Filter by inventory group ID

statusoptionalboolean

Filter by active status

queryoptionalstring

Search by name or SKU

Returnsobject

Inventory items list response

curl https://api.subbly.co/private/v1/inventory_items \ -H 'X-API-KEY: <api-key>'
Response
{ "pagination": { "current_page": 1, "last_page": 2, "from": 1, "to": 1, "total": 20 }, "data": [ { "id": 1, "sku": "sku", "name": "name", "description": "description", "photo_url": "photo_url", "buy_price": 1, "msrp_price": 1, "stock_count": 1, "status": true, "inventory_group_id": 1, "inventory_group": { "id": 1, "name": "name" }, "weight": 1.5, "width": 1.5, "height": 1.5, "depth": 1.5, "hs_code": "hs_code", "country_origin_id": 1, "priority": 1, "tags": [ { "id": 1, "value": "value" } ], "low_stock": true, "out_of_stock": true, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" } ] }

Create a new inventory item

POST /inventory_items

Request body

nameRequiredstring
skuRequiredstring

Unique SKU within the shop

stock_countRequiredinteger
statusRequiredinteger

Possible values: 0, 1.

priorityoptionalinteger | null
inventory_group_idoptionalinteger | null
buy_priceoptionalinteger | null

Buy price in cents

msrp_priceoptionalinteger | null

MSRP price in cents

descriptionoptionalstring | null
photo_urloptionalstring | null

Format: url.

weightoptionalnumber | null
widthoptionalnumber | null
heightoptionalnumber | null
depthoptionalnumber | null
hs_codeoptionalstring | null

Harmonized System code

country_origin_idoptionalinteger | null

Country of origin ID

tagsoptionalobject

ReturnsInventoryItem

Inventory item created successfully

curl -X POST https://api.subbly.co/private/v1/inventory_items \ -H 'X-API-KEY: <api-key>' \ -H 'Content-Type: application/json' \ -d '{ "name": "name", "sku": "sku", "stock_count": 1, "status": 0, "priority": 1, "inventory_group_id": 1, "buy_price": 0, "msrp_price": 0, "description": "description", "photo_url": "https://example.com", "weight": 0.01, "width": 0.01, "height": 0.01, "depth": 0.01, "hs_code": "hs_code", "country_origin_id": 1, "tags": { "create": [ { "value": "value" } ] } }'
Response
{ "id": 1, "sku": "sku", "name": "name", "description": "description", "photo_url": "photo_url", "buy_price": 1, "msrp_price": 1, "stock_count": 1, "status": true, "inventory_group_id": 1, "inventory_group": { "id": 1, "name": "name" }, "weight": 1.5, "width": 1.5, "height": 1.5, "depth": 1.5, "hs_code": "hs_code", "country_origin_id": 1, "priority": 1, "tags": [ { "id": 1, "value": "value" } ], "low_stock": true, "out_of_stock": true, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }

Get inventory item by ID

GET /inventory_items/{inventory_item_id}

Path parameters

inventory_item_idRequiredinteger

Inventory item ID

ReturnsInventoryItem

Inventory item object response

curl https://api.subbly.co/private/v1/inventory_items/{inventory_item_id} \ -H 'X-API-KEY: <api-key>'
Response
{ "id": 1, "sku": "sku", "name": "name", "description": "description", "photo_url": "photo_url", "buy_price": 1, "msrp_price": 1, "stock_count": 1, "status": true, "inventory_group_id": 1, "inventory_group": { "id": 1, "name": "name" }, "weight": 1.5, "width": 1.5, "height": 1.5, "depth": 1.5, "hs_code": "hs_code", "country_origin_id": 1, "priority": 1, "tags": [ { "id": 1, "value": "value" } ], "low_stock": true, "out_of_stock": true, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }

Update an inventory item

PUT /inventory_items/{inventory_item_id}

Path parameters

inventory_item_idRequiredinteger

Inventory item ID

Request body

nameoptionalstring
skuoptionalstring
stock_countoptionalinteger
statusoptionalinteger

Possible values: 0, 1.

priorityoptionalinteger | null
inventory_group_idoptionalinteger
buy_priceoptionalinteger | null

Buy price in cents

msrp_priceoptionalinteger | null

MSRP price in cents

descriptionoptionalstring | null
photo_urloptionalstring | null

Format: url.

weightoptionalnumber | null
widthoptionalnumber | null
heightoptionalnumber | null
depthoptionalnumber | null
hs_codeoptionalstring | null
country_origin_idoptionalinteger | null
tagsoptionalobject

ReturnsInventoryItem

Inventory item updated successfully

curl -X PUT https://api.subbly.co/private/v1/inventory_items/{inventory_item_id} \ -H 'X-API-KEY: <api-key>' \ -H 'Content-Type: application/json' \ -d '{ "name": "name", "sku": "sku", "stock_count": 1, "status": 0, "priority": 1, "inventory_group_id": 1, "buy_price": 0, "msrp_price": 0, "description": "description", "photo_url": "https://example.com", "weight": 0.01, "width": 0.01, "height": 0.01, "depth": 0.01, "hs_code": "hs_code", "country_origin_id": 1, "tags": { "create": [ { "value": "value" } ], "delete": [ { "id": 1 } ] } }'
Response
{ "id": 1, "sku": "sku", "name": "name", "description": "description", "photo_url": "photo_url", "buy_price": 1, "msrp_price": 1, "stock_count": 1, "status": true, "inventory_group_id": 1, "inventory_group": { "id": 1, "name": "name" }, "weight": 1.5, "width": 1.5, "height": 1.5, "depth": 1.5, "hs_code": "hs_code", "country_origin_id": 1, "priority": 1, "tags": [ { "id": 1, "value": "value" } ], "low_stock": true, "out_of_stock": true, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }

Archive an inventory item

POST /inventory_items/{inventory_item_id}/archive

Path parameters

inventory_item_idRequiredinteger

Inventory item ID

ReturnsInventoryItem

Inventory item archived

curl -X POST https://api.subbly.co/private/v1/inventory_items/{inventory_item_id}/archive \ -H 'X-API-KEY: <api-key>'
Response
{ "id": 1, "sku": "sku", "name": "name", "description": "description", "photo_url": "photo_url", "buy_price": 1, "msrp_price": 1, "stock_count": 1, "status": true, "inventory_group_id": 1, "inventory_group": { "id": 1, "name": "name" }, "weight": 1.5, "width": 1.5, "height": 1.5, "depth": 1.5, "hs_code": "hs_code", "country_origin_id": 1, "priority": 1, "tags": [ { "id": 1, "value": "value" } ], "low_stock": true, "out_of_stock": true, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }

Get list of inventory groups

GET /inventory_groups

Query parameters

pageoptionalinteger

Page number

Defaults to 1.

per_pageoptionalinteger

Items per page

Defaults to 15.

queryoptionalstring

Search by name or brand name

Returnsobject

Inventory groups list response

curl https://api.subbly.co/private/v1/inventory_groups \ -H 'X-API-KEY: <api-key>'
Response
{ "pagination": { "current_page": 1, "last_page": 2, "from": 1, "to": 1, "total": 20 }, "data": [ { "id": 1, "name": "name", "brand_name": "brand_name", "description": "description", "status": true, "items_count": 1, "total_stock": 1, "low_stock_count": 1, "out_of_stock_count": 1, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" } ] }

Create a new inventory group

POST /inventory_groups

Request body

nameRequiredstring
brand_nameoptionalstring | null

ReturnsInventoryGroup

Inventory group created successfully

curl -X POST https://api.subbly.co/private/v1/inventory_groups \ -H 'X-API-KEY: <api-key>' \ -H 'Content-Type: application/json' \ -d '{ "name": "name", "brand_name": "brand_name" }'
Response
{ "id": 1, "name": "name", "brand_name": "brand_name", "description": "description", "status": true, "items_count": 1, "total_stock": 1, "low_stock_count": 1, "out_of_stock_count": 1, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }

Get inventory group by ID

GET /inventory_groups/{inventory_group_id}

Path parameters

inventory_group_idRequiredinteger

Inventory group ID

ReturnsInventoryGroup

Inventory group object response

curl https://api.subbly.co/private/v1/inventory_groups/{inventory_group_id} \ -H 'X-API-KEY: <api-key>'
Response
{ "id": 1, "name": "name", "brand_name": "brand_name", "description": "description", "status": true, "items_count": 1, "total_stock": 1, "low_stock_count": 1, "out_of_stock_count": 1, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }

Update an inventory group

PUT /inventory_groups/{inventory_group_id}

Path parameters

inventory_group_idRequiredinteger

Inventory group ID

Request body

nameoptionalstring
brand_nameoptionalstring | null
descriptionoptionalstring | null

ReturnsInventoryGroup

Inventory group updated successfully

curl -X PUT https://api.subbly.co/private/v1/inventory_groups/{inventory_group_id} \ -H 'X-API-KEY: <api-key>' \ -H 'Content-Type: application/json' \ -d '{ "name": "name", "brand_name": "brand_name", "description": "description" }'
Response
{ "id": 1, "name": "name", "brand_name": "brand_name", "description": "description", "status": true, "items_count": 1, "total_stock": 1, "low_stock_count": 1, "out_of_stock_count": 1, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" }
paginationobject
dataInventoryItem[]
createoptionalobject[]
idinteger
skustring
namestring
descriptionstring | null
photo_urlstring | null
buy_priceinteger | null

Price in cents

msrp_priceinteger | null

Price in cents

stock_countinteger
statusboolean
inventory_group_idinteger | null
inventory_groupobject | null
weightnumber | null
widthnumber | null
heightnumber | null
depthnumber | null
hs_codestring | null
country_origin_idinteger | null
priorityinteger | null
tagsobject[]
low_stockboolean
out_of_stockboolean
created_atstring

Format: date-time.

updated_atstring

Format: date-time.

idinteger
skustring
namestring
descriptionstring | null
photo_urlstring | null
buy_priceinteger | null

Price in cents

msrp_priceinteger | null

Price in cents

stock_countinteger
statusboolean
inventory_group_idinteger | null
inventory_groupobject | null
weightnumber | null
widthnumber | null
heightnumber | null
depthnumber | null
hs_codestring | null
country_origin_idinteger | null
priorityinteger | null
tagsobject[]
low_stockboolean
out_of_stockboolean
created_atstring

Format: date-time.

updated_atstring

Format: date-time.

createoptionalobject[]
deleteoptionalobject[]
idinteger
skustring
namestring
descriptionstring | null
photo_urlstring | null
buy_priceinteger | null

Price in cents

msrp_priceinteger | null

Price in cents

stock_countinteger
statusboolean
inventory_group_idinteger | null
inventory_groupobject | null
weightnumber | null
widthnumber | null
heightnumber | null
depthnumber | null
hs_codestring | null
country_origin_idinteger | null
priorityinteger | null
tagsobject[]
low_stockboolean
out_of_stockboolean
created_atstring

Format: date-time.

updated_atstring

Format: date-time.

idinteger
skustring
namestring
descriptionstring | null
photo_urlstring | null
buy_priceinteger | null

Price in cents

msrp_priceinteger | null

Price in cents

stock_countinteger
statusboolean
inventory_group_idinteger | null
inventory_groupobject | null
weightnumber | null
widthnumber | null
heightnumber | null
depthnumber | null
hs_codestring | null
country_origin_idinteger | null
priorityinteger | null
tagsobject[]
low_stockboolean
out_of_stockboolean
created_atstring

Format: date-time.

updated_atstring

Format: date-time.

paginationobject
dataInventoryGroup[]
idinteger
namestring
brand_namestring | null
descriptionstring | null
statusboolean
items_countinteger
total_stockinteger
low_stock_countinteger
out_of_stock_countinteger
created_atstring

Format: date-time.

updated_atstring

Format: date-time.

idinteger
namestring
brand_namestring | null
descriptionstring | null
statusboolean
items_countinteger
total_stockinteger
low_stock_countinteger
out_of_stock_countinteger
created_atstring

Format: date-time.

updated_atstring

Format: date-time.

idinteger
namestring
brand_namestring | null
descriptionstring | null
statusboolean
items_countinteger
total_stockinteger
low_stock_countinteger
out_of_stock_countinteger
created_atstring

Format: date-time.

updated_atstring

Format: date-time.