GET
/
skus

Catalog Management API

The Catalog API manages SKUs (Stock Keeping Units), which are the primary catalog items in the MasonHub system. SKUs provide comprehensive product information and support complex scenarios like kits, multiple barcodes, and special handling requirements.

SKUs are never fully removed from the system if inventory exists, ensuring data integrity and historical tracking.

Core Endpoints

Get SKUs

Retrieve SKUs with filtering and pagination support.

cid
string[]

Customer identifiers [1..30]

id
UUID[]

MasonHub UUID strings [1..30]

list_type
string
default:
"detail"

Response detail level: detail or summary

limit
integer
default:
"30"

Number of results [1..100]

offset
integer
default:
"0"

Pagination offset

include_counts
boolean
default:
"false"

Include inventory counts (detail only)

| limit | integer | Number of results [1..100] | 30 | | offset | integer | Pagination offset | 0 | | include_counts | boolean | Include inventory counts (detail only) | false |

Create SKUs

Create one or more SKUs in the catalog system.

customer_identifier
string
required

Unique customer SKU identifier

customer_bar_code
string
required

Primary customer-assigned barcode

vendor_bar_code
string

Vendor’s original barcode

brand_name
string
required

Brand name for the product

product_name
string
required

Product name/title

product_category
string
required

Product category classification

dim_weight
number
required

Weight in pounds

dim_length
number
required

Length in inches

dim_width
number
required

Width in inches

dim_height
number
required

Height in inches

unit_cost
number

Unit cost for the SKU

price
number

Retail price for the SKU

Required Fields

Identification

  • customer_identifier
  • customer_bar_code
  • vendor_style

Product Information

  • brand_name
  • product_name
  • product_category

Physical Dimensions

  • dim_weight
  • dim_length
  • dim_width
  • dim_height

Optional Fields

  • unit_cost
  • price
  • pick_style
  • special_instructions

Update SKUs

SKU updates require full object replacement. Include all fields you want to maintain.

PUT /skus
Authorization: Bearer your_jwt_token
Content-Type: application/json

[
  {
    "customer_identifier": "pants4523",
    "customer_bar_code": "2345687902",
    // ... all other fields
    "price": 180  // Updated price
  }
]

Delete SKUs

DELETE /skus
Authorization: Bearer your_jwt_token
Content-Type: application/json

[
  {
    "customer_identifier": "pants4523"
  },
  {
    "customer_identifier": "shirts450293" 
  }
]

Advanced Features

Kit SKUs

MasonHub supports complex kit configurations for bundled products:

Characteristics:

  • Already assembled at the warehouse
  • Child units not available for individual sale
  • Faster processing and shipping
  • Single inventory tracking unit

Best for:

  • Gift sets
  • Promotional bundles
  • Pre-configured packages

Kit SKU Example

{
  "customer_identifier": "kit00001",
  "customer_bar_code": "1234567890",
  "brand_name": "Freddie's",
  "product_name": "Shirt and Pants Combo",
  "product_category": "Apparel",
  "product_description": "Complete outfit kit",
  "is_kit": true,
  "kit_skus": [
    {
      "customer_identifier": "shirt-001",
      "quantity": 1
    },
    {
      "customer_identifier": "pants-001", 
      "quantity": 1
    }
  ],
  "dim_weight": 1.25,
  "dim_length": 12,
  "dim_width": 10,
  "dim_height": 3
}

Pick Strategies

Control how inventory is allocated using pick strategies:

FIFO

First In, First Out

Oldest inventory picked first. Default for most products.

FEFO

First Expired, First Out

Products closest to expiration picked first. Ideal for perishables.

LIFO

Last In, First Out

Newest inventory picked first. Useful for fashion or seasonal items.

Barcode Management

SKUs support comprehensive barcode management:

Data Validation

Required Field Validation

Missing required fields will result in validation errors. Ensure all required fields are provided for successful SKU creation.

Common validation errors:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Required field missing",
    "details": {
      "field": "customer_identifier",
      "value": null
    }
  }
}

Unique Constraints

1

Customer Identifier

Must be unique within your account scope

2

Barcodes

All barcodes must be globally unique across the system

3

Vendor Style

Should be unique within brand for best practices

Best Practices

SKU Creation

Batch Operations

Create multiple SKUs in single API calls for efficiency

Complete Data

Provide comprehensive product information upfront

Consistent Naming

Use consistent naming conventions for easier management

Accurate Dimensions

Ensure precise dimensions for shipping calculations

Performance Optimization

  1. Use Summary Lists: Start with list_type=summary for browsing
  2. Specific Queries: Filter by cid array for targeted retrieval
  3. Appropriate Limits: Use reasonable limit values to avoid timeouts
  4. Include Counts Sparingly: Only use include_counts=true when needed

Error Handling

Common error scenarios and solutions:

Next Steps

After setting up your catalog, proceed to: