ShipBob · Capability
API Reference — subpackage_products
API Reference — subpackage_products. 16 operations. Lead operation: Get Packaging Requirement. Self-contained Naftiko capability covering one Shipbob business surface.
What You Can Do
GET
Getpackagingrequirement
— Get Packaging Requirement
/v1/2026-01/packaging-requirement
POST
Createproduct
— Create Product
/v1/2026-01/product
GET
Getproducts
— Get Products
/v1/2026-01/product
GET
Getproduct
— Get Product
/v1/2026-01/product/{productid}
PATCH
Updateproduct
— Update Product
/v1/2026-01/product/{productid}
DELETE
Deleteproductbundle
— Delete Product Bundle
/v1/2026-01/product/{productid}
GET
Getproductvariants
— Get Product Variants
/v1/2026-01/product/{productid}/variants
POST
Addproductvariants
— Add Product Variants
/v1/2026-01/product/{productid}/variants
PATCH
Updateproductvariants
— Update Product Variants
/v1/2026-01/product/{productid}/variants
POST
Movevariantsbetweenproducts
— Move Variants Between Products
/v1/2026-01/product/productid-movevariants
POST
Movevariantstonewproduct
— Move Variants to New Product
/v1/2026-01/product-movevariants
GET
Gettaxonomies
— Get Taxonomies
/v1/2026-01/taxonomy
GET
Gettaxonomybyid
— Get Taxonomy by ID
/v1/2026-01/taxonomy/{id}
GET
Gettaxonomyparent
— Get Taxonomy Parent
/v1/2026-01/taxonomy/{id}/parent
POST
Convertvarianttobundle
— Convert Variant to Bundle
/v1/2026-01/variant/variantid-converttobundle
POST
Mergevariants
— Merge Variants
/v1/2026-01/variant/variantid-merge
MCP Tools
get-packaging-requirement
Get Packaging Requirement
read-only
idempotent
create-product
Create Product
get-products
Get Products
read-only
idempotent
get-product
Get Product
read-only
idempotent
update-product
Update Product
idempotent
delete-product-bundle
Delete Product Bundle
idempotent
get-product-variants
Get Product Variants
read-only
idempotent
add-product-variants
Add Product Variants
update-product-variants
Update Product Variants
idempotent
move-variants-between-products
Move Variants Between Products
move-variants-new-product
Move Variants to New Product
get-taxonomies
Get Taxonomies
read-only
idempotent
get-taxonomy-id
Get Taxonomy by ID
read-only
idempotent
get-taxonomy-parent
Get Taxonomy Parent
read-only
idempotent
convert-variant-bundle
Convert Variant to Bundle
merge-variants
Merge Variants
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: API Reference — subpackage_products
description: 'API Reference — subpackage_products. 16 operations. Lead operation: Get Packaging Requirement. Self-contained
Naftiko capability covering one Shipbob business surface.'
tags:
- Shipbob
- subpackage_products
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SHIPBOB_API_KEY: SHIPBOB_API_KEY
capability:
consumes:
- type: http
namespace: shipbob-subpackage-products
baseUri: https://api.shipbob.com
description: API Reference — subpackage_products business capability. Self-contained, no shared references.
resources:
- name: 2026-01-packaging-requirement
path: /2026-01/packaging-requirement
operations:
- name: getpackagingrequirement
method: GET
description: Get Packaging Requirement
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: 2026-01-product
path: /2026-01/product
operations:
- name: createproduct
method: POST
description: Create Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: getproducts
method: GET
description: Get Products
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Search
in: query
type: string
description: Search Products by name, sku, inventory id or product Id.
- name: Barcode
in: query
type: string
description: Barcode Associated with variant
- name: Barcodes
in: query
type: string
description: Barcodes Associated with variant
- name: CategoryIds
in: query
type: string
description: List of Category Ids associated with product
- name: ChannelIds
in: query
type: string
description: Looks for Products variants by their channel IDs
- name: HasDigitalVariants
in: query
type: string
description: Looks for Products with/without digital variants
- name: HasVariants
in: query
type: string
description: Looks for Products with/without variants
- name: InventoryId
in: query
type: string
description: Looks for variants by its associated inventory id
- name: IsInventorySyncEnabled
in: query
type: string
description: Looks for Products variants by their IsInventorySyncEnabled is true
- name: LastUpdatedTimestamp
in: query
type: string
description: Looks for Products that have been updated since the given date
- name: LegacyIds
in: query
type: string
description: Looks for Products with by Legacy Product Id(s)
- name: Name
in: query
type: string
description: Looks for Products/Variants by name
- name: OnHand
in: query
type: string
description: Looks for Products with inventory
- name: PlatformIds
in: query
type: string
description: Looks for Products variants by their external Platform IDs
- name: ProductId
in: query
type: string
description: Looks for Products with an assigned Id
- name: ProductType
in: query
type: string
description: Looks for Products by type
- name: ReviewsPending
in: query
type: string
description: Looks for Products by ReviewsPending
- name: SalesChannel
in: query
type: string
description: Looks for Products variants assigned to a platform/sales channel
- name: SellerSKU
in: query
type: string
description: Looks for Products that match the provided Seller query
- name: SKU
in: query
type: string
description: Looks for Products that match the provided Sku query
- name: TaxonomyIds
in: query
type: string
description: Looks for Products variants by their taxonomy id or any descendants of the taxonomies sent separated
by comma
- name: VariantId
in: query
type: string
description: Looks for products that contain a variant with the given ID
- name: VariantStatus
in: query
type: string
description: Looks for Products with variants that contain provided status
- name: PageSize
in: query
type: string
description: 1-250
- name: SortBy
in: query
type: string
description: Id, Name, Category, TotalOnHandQty
- name: SortOrder
in: query
type: string
description: ASC,DESC
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: 2026-01-product-productId
path: /2026-01/product/{productId}
operations:
- name: getproduct
method: GET
description: Get Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: updateproduct
method: PATCH
description: Update Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
description: The product identifier
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deleteproductbundle
method: DELETE
description: Delete Product Bundle
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
description: The product identifier
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: 2026-01-product-productId-variants
path: /2026-01/product/{productId}/variants
operations:
- name: getproductvariants
method: GET
description: Get Product Variants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
description: The product id
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: addproductvariants
method: POST
description: Add Product Variants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: updateproductvariants
method: PATCH
description: Update Product Variants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: 2026-01-product-productId}:moveVariants
path: /2026-01/product/{productId}:moveVariants
operations:
- name: movevariantsbetweenproducts
method: POST
description: Move Variants Between Products
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: productId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: 2026-01-product:moveVariants
path: /2026-01/product:moveVariants
operations:
- name: movevariantstonewproduct
method: POST
description: Move Variants to New Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: 2026-01-taxonomy
path: /2026-01/taxonomy
operations:
- name: gettaxonomies
method: GET
description: Get Taxonomies
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: search
in: query
type: string
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: 2026-01-taxonomy-id
path: /2026-01/taxonomy/{id}
operations:
- name: gettaxonomybyid
method: GET
description: Get Taxonomy by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: 2026-01-taxonomy-id-parent
path: /2026-01/taxonomy/{id}/parent
operations:
- name: gettaxonomyparent
method: GET
description: Get Taxonomy Parent
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: 2026-01-variant-variantId}:convertToBundle
path: /2026-01/variant/{variantId}:convertToBundle
operations:
- name: convertvarianttobundle
method: POST
description: Convert Variant to Bundle
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: variantId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: 2026-01-variant-variantId}:merge
path: /2026-01/variant/{variantId}:merge
operations:
- name: mergevariants
method: POST
description: Merge Variants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: variantId
in: path
type: string
description: The ID of the variant to use as the merge target
required: true
- name: Authorization
in: header
type: string
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: bearer
token: '{{env.SHIPBOB_API_KEY}}'
exposes:
- type: rest
namespace: shipbob-subpackage-products-rest
port: 8080
description: REST adapter for API Reference — subpackage_products. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/2026-01/packaging-requirement
name: 2026-01-packaging-requirement
description: REST surface for 2026-01-packaging-requirement.
operations:
- method: GET
name: getpackagingrequirement
description: Get Packaging Requirement
call: shipbob-subpackage-products.getpackagingrequirement
with:
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/product
name: 2026-01-product
description: REST surface for 2026-01-product.
operations:
- method: POST
name: createproduct
description: Create Product
call: shipbob-subpackage-products.createproduct
with:
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: getproducts
description: Get Products
call: shipbob-subpackage-products.getproducts
with:
Search: rest.Search
Barcode: rest.Barcode
Barcodes: rest.Barcodes
CategoryIds: rest.CategoryIds
ChannelIds: rest.ChannelIds
HasDigitalVariants: rest.HasDigitalVariants
HasVariants: rest.HasVariants
InventoryId: rest.InventoryId
IsInventorySyncEnabled: rest.IsInventorySyncEnabled
LastUpdatedTimestamp: rest.LastUpdatedTimestamp
LegacyIds: rest.LegacyIds
Name: rest.Name
OnHand: rest.OnHand
PlatformIds: rest.PlatformIds
ProductId: rest.ProductId
ProductType: rest.ProductType
ReviewsPending: rest.ReviewsPending
SalesChannel: rest.SalesChannel
SellerSKU: rest.SellerSKU
SKU: rest.SKU
TaxonomyIds: rest.TaxonomyIds
VariantId: rest.VariantId
VariantStatus: rest.VariantStatus
PageSize: rest.PageSize
SortBy: rest.SortBy
SortOrder: rest.SortOrder
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/product/{productid}
name: 2026-01-product-productid
description: REST surface for 2026-01-product-productId.
operations:
- method: GET
name: getproduct
description: Get Product
call: shipbob-subpackage-products.getproduct
with:
productId: rest.productId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateproduct
description: Update Product
call: shipbob-subpackage-products.updateproduct
with:
productId: rest.productId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteproductbundle
description: Delete Product Bundle
call: shipbob-subpackage-products.deleteproductbundle
with:
productId: rest.productId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/product/{productid}/variants
name: 2026-01-product-productid-variants
description: REST surface for 2026-01-product-productId-variants.
operations:
- method: GET
name: getproductvariants
description: Get Product Variants
call: shipbob-subpackage-products.getproductvariants
with:
productId: rest.productId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: POST
name: addproductvariants
description: Add Product Variants
call: shipbob-subpackage-products.addproductvariants
with:
productId: rest.productId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateproductvariants
description: Update Product Variants
call: shipbob-subpackage-products.updateproductvariants
with:
productId: rest.productId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/product/productid-movevariants
name: 2026-01-product-productid-movevariants
description: REST surface for 2026-01-product-productId}:moveVariants.
operations:
- method: POST
name: movevariantsbetweenproducts
description: Move Variants Between Products
call: shipbob-subpackage-products.movevariantsbetweenproducts
with:
productId: rest.productId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/product-movevariants
name: 2026-01-product-movevariants
description: REST surface for 2026-01-product:moveVariants.
operations:
- method: POST
name: movevariantstonewproduct
description: Move Variants to New Product
call: shipbob-subpackage-products.movevariantstonewproduct
with:
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/taxonomy
name: 2026-01-taxonomy
description: REST surface for 2026-01-taxonomy.
operations:
- method: GET
name: gettaxonomies
description: Get Taxonomies
call: shipbob-subpackage-products.gettaxonomies
with:
search: rest.search
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/taxonomy/{id}
name: 2026-01-taxonomy-id
description: REST surface for 2026-01-taxonomy-id.
operations:
- method: GET
name: gettaxonomybyid
description: Get Taxonomy by ID
call: shipbob-subpackage-products.gettaxonomybyid
with:
id: rest.id
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/taxonomy/{id}/parent
name: 2026-01-taxonomy-id-parent
description: REST surface for 2026-01-taxonomy-id-parent.
operations:
- method: GET
name: gettaxonomyparent
description: Get Taxonomy Parent
call: shipbob-subpackage-products.gettaxonomyparent
with:
id: rest.id
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/variant/variantid-converttobundle
name: 2026-01-variant-variantid-converttobundle
description: REST surface for 2026-01-variant-variantId}:convertToBundle.
operations:
- method: POST
name: convertvarianttobundle
description: Convert Variant to Bundle
call: shipbob-subpackage-products.convertvarianttobundle
with:
variantId: rest.variantId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/2026-01/variant/variantid-merge
name: 2026-01-variant-variantid-merge
description: REST surface for 2026-01-variant-variantId}:merge.
operations:
- method: POST
name: mergevariants
description: Merge Variants
call: shipbob-subpackage-products.mergevariants
with:
variantId: rest.variantId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: shipbob-subpackage-products-mcp
port: 9090
transport: http
description: MCP adapter for API Reference — subpackage_products. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-packaging-requirement
description: Get Packaging Requirement
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.getpackagingrequirement
with:
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: create-product
description: Create Product
hints:
readOnly: false
destructive: false
idempotent: false
call: shipbob-subpackage-products.createproduct
with:
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-products
description: Get Products
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.getproducts
with:
Search: tools.Search
Barcode: tools.Barcode
Barcodes: tools.Barcodes
CategoryIds: tools.CategoryIds
ChannelIds: tools.ChannelIds
HasDigitalVariants: tools.HasDigitalVariants
HasVariants: tools.HasVariants
InventoryId: tools.InventoryId
IsInventorySyncEnabled: tools.IsInventorySyncEnabled
LastUpdatedTimestamp: tools.LastUpdatedTimestamp
LegacyIds: tools.LegacyIds
Name: tools.Name
OnHand: tools.OnHand
PlatformIds: tools.PlatformIds
ProductId: tools.ProductId
ProductType: tools.ProductType
ReviewsPending: tools.ReviewsPending
SalesChannel: tools.SalesChannel
SellerSKU: tools.SellerSKU
SKU: tools.SKU
TaxonomyIds: tools.TaxonomyIds
VariantId: tools.VariantId
VariantStatus: tools.VariantStatus
PageSize: tools.PageSize
SortBy: tools.SortBy
SortOrder: tools.SortOrder
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: get-product
description: Get Product
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.getproduct
with:
productId: tools.productId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: update-product
description: Update Product
hints:
readOnly: false
destructive: false
idempotent: true
call: shipbob-subpackage-products.updateproduct
with:
productId: tools.productId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-product-bundle
description: Delete Product Bundle
hints:
readOnly: false
destructive: true
idempotent: true
call: shipbob-subpackage-products.deleteproductbundle
with:
productId: tools.productId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: get-product-variants
description: Get Product Variants
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.getproductvariants
with:
productId: tools.productId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: add-product-variants
description: Add Product Variants
hints:
readOnly: false
destructive: false
idempotent: false
call: shipbob-subpackage-products.addproductvariants
with:
productId: tools.productId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-product-variants
description: Update Product Variants
hints:
readOnly: false
destructive: false
idempotent: true
call: shipbob-subpackage-products.updateproductvariants
with:
productId: tools.productId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: move-variants-between-products
description: Move Variants Between Products
hints:
readOnly: false
destructive: false
idempotent: false
call: shipbob-subpackage-products.movevariantsbetweenproducts
with:
productId: tools.productId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: move-variants-new-product
description: Move Variants to New Product
hints:
readOnly: false
destructive: false
idempotent: false
call: shipbob-subpackage-products.movevariantstonewproduct
with:
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-taxonomies
description: Get Taxonomies
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.gettaxonomies
with:
search: tools.search
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: get-taxonomy-id
description: Get Taxonomy by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.gettaxonomybyid
with:
id: tools.id
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: get-taxonomy-parent
description: Get Taxonomy Parent
hints:
readOnly: true
destructive: false
idempotent: true
call: shipbob-subpackage-products.gettaxonomyparent
with:
id: tools.id
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: convert-variant-bundle
description: Convert Variant to Bundle
hints:
readOnly: false
destructive: false
idempotent: false
call: shipbob-subpackage-products.convertvarianttobundle
with:
variantId: tools.variantId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: merge-variants
description: Merge Variants
hints:
readOnly: false
destructive: false
idempotent: false
call: shipbob-subpackage-products.mergevariants
with:
variantId: tools.variantId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.