Solstiq API Documentation

The Solstiq API provides real-time supply chain integration between distributor gateways and manufacturers. Our APIs are designed for high-concurrency, low-latency, and administrative peace of mind.

Authentication

All requests must include a JSON-encoded body (or Form data) containing the following security credentials. The vendor parameter is required to route the request to the correct manufacturer-specific database and filesystem environment.

FieldTypeDescription
api-keyStringThe global system access key (Required for all requests).
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringThe name of the api function
customerIDStringThe distributor's unique account ID for that vendor.
passkeyStringA secure account-specific API key for that vendor.

getVendors

POST /api/

Returns a list of all active manufacturers in the Solstiq network. This is a system-level call and does not require vendor, customerID, or passkey parameters.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key (Required).
functionStringMust be set to getVendors.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "function": "getVendors"
}

Response Structure

The vendors array contains objects with the internal id (used for the vendor parameter in other calls) and the friendly name.

Response Sample

{
  "success": "1",
  "vendors": [
    { "id": "americanstandard", "name": "American Standard US (Lixil)" },
    { "id": "kohler", "name": "Kohler Co." }
  ]
}

getMultipliers

POST /api/

Returns a list of your multipliers with the specified vendor effective as-of a specified date.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key (Required).
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringgetMultipliers.
dateAs-of date (optional - defaults to today's date) - YYYYMMDD format.
customerIDStringThe buyer's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "vendor": "americanstandard",
  "function": "getMultipliers"
  "date": "20260415"
}

Response Structure

The multipliers array contains objects with the multiplier and value (price class).

Response Sample

{
  "success": "1",
  "effective_date": "20260101",
  "multipliers": [
    {"mult": ".39", "value": "brassftg" },
    {"mult": ".175","value":"XHNIPPLE"}
  ]
}

Input Parameters

FieldTypeDescription
api-keyStringThe global system access key required for all requests.
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringsearchProducts
customerIDStringThe distributor's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.
productsArrayA list of product objects to be processed.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "searchproducts",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "products": [
    { 
      "sku": "GWHSE55",
      "productID": "DIST-SKU-99", 
      "upc": "69029111626",
      "search": "Quarter Turn Valve"
    }
  ],
  "UPDATE_MATCH": true
}

getProductMatchAll

POST /api/

Performs a multi-tiered search of the catalog. Logic prioritizes direct pointers (e.g., .SKU), then UPC, then filtered word intersections. Does a deep search using fuzzy logic if requested and needed. Results return a list of manufacturer SKUs matching the provided criteria.

Input Parameters

FieldTypeDescription
api-keyStringThe global system access key required for all requests.
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringgetProductMatchAll
customerIDStringThe distributor's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.
productsArrayA list of product objects to be processed.
deepBooleanSet to "1" if deep searching is requested.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "searchproducts",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "deep": "1",
  "products": [
    { 
      "sku": "GWHSE55",
      "productID": "DIST-SKU-99", 
      "upc": "69029111626",
      "search": "Quarter Turn Valve"
    }
  ],
  "UPDATE_MATCH": true
}

getProductData

POST /api/

Fetches full product details and calculates Real-Time Net Cost for an array of items. Optionally, updates the sku match.

Input Parameters

FieldTypeDescription
api-keyStringThe global system access key required for all requests.
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringgetProductData
customerIDStringThe distributor's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.
productsArrayA list of product objects to be processed.
MATCHED_ONLYSet to "1" if products that are not matched should be marked "not_found".
UPDATE_MATCHSet to "1" if SKU matches should be updated.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getproductdata",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "products": [
    { 
      "sku": "GWHSE55",
      "productID": "DIST-SKU-99", 
      "upc": "69029111626", 
      "catalog_no": "WASHBX-1",
      "search": "Quarter Turn Valve"
    }
  ],
  "MATCHED_ONLY": "0",
  "UPDATE_MATCH": "1"
}

Product Object Attributes

The system attempts to identify the product using these identifiers in order of specificity:

Response Structure

The API returns a JSON object that echoes the original request, enriched with full product data and calculation results. If MATCHED_ONLY is "1" (true), products that are now sku matched will be returned withe their "not_found" attribute set to "1" (true). If UPDATE_MATCH is "1" (true) and both buyer and seller skus are identified, the SKU matching database is updated.

The status of the overall request is indicated by the top-level success attribute.

Global Response Attributes

FieldValueDescription
success"1"Indicates the call was fully processed and authenticated.
errorStringA description of the failure (only present if success is not "1").

Enriched Product Attributes

Each object in the products array will contain the original input fields plus the following manufacturer data:

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "customerID": "southernphs.com",
  "products": [
    { 
      "sku": "GWHSE55",
      "productID": "DIST-SKU-99", 
      "upc": "69029111626",
      "cost": "45.12",
      "LIST": "120.00",
      "multiplier": ".376",
      "links": [
        { "name": "image", "link": "https://media.solstiq.com/img/gwhse55.jpg" },
        { "name": "specs", "link": "https://media.solstiq.com/pdf/gwhse55_spec.pdf" }
      ],
      "weight": "12lbs",
      "last_update": "2026-05-08 09:00:00"
    }
  ]
}

getProductMatch

POST /api/

Looks up SKU matches between buyer and seller if matched and returns full product information including current net price for an array of items.

Input Parameters

FieldTypeDescription
api-keyStringThe global system access key required for all requests.
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringgetProductMatch
customerIDStringThe distributor's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.
productsArrayA list of product objects to be processed.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getproductmatch",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "products": [
    { 
      "productID": "DIST-SKU-99", 
    }
  ],
  "UPDATE_MATCH": true
}

Product Object Attributes

The system attempts to identify the product using these identifiers in order of specificity:

Response Structure

The API returns a JSON object that echoes the original request, enriched with full product data and calculation results. The status of the overall request is indicated by the top-level success attribute.

Global Response Attributes

FieldValueDescription
success"1"Indicates the call was fully processed and authenticated.
errorStringA description of the failure (only present if success is not "1").

Enriched Product Attributes

Each object in the products array will contain the original input fields plus the following manufacturer data:

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "customerID": "southernphs.com",
  "products": [
    { 
      "sku": "GWHSE55",
      "productID": "DIST-SKU-99", 
      "upc": "69029111626",
      "cost": "45.12",
      "LIST": "120.00",
      "multiplier": ".376",
      "links": [
        { "name": "image", "link": "https://media.solstiq.com/img/gwhse55.jpg" },
        { "name": "specs", "link": "https://media.solstiq.com/pdf/gwhse55_spec.pdf" }
      ],
      "weight": "12lbs",
      "last_update": "2026-05-08 09:00:00"
    }
  ]
}

getProductsUpdated

POST /api/

Returns a list of products updated since a specified date. This is used for incrementally updating prices and other data that is new or has changed. The ids returned are the seller's SKUs. To fetch the product information, use the

Input Parameters

FieldTypeDescription
api-keyStringThe global system access key required for all requests.
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringgetProductList
customerIDStringThe distributor's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getProductList",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY"
}

Response Structure

The products attribute in the response is returned as an array of objects containing the seller's sku and the buyer's product ID.

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "customerID": "southernphs.com",
  "products": [
    {"sku":"80459540905","productID":"3013"},
    {"sku":"80459540905","productID","3014"}
  ]
}

getProductList

POST /api/

Returns a comprehensive list of every primary SKU (Primary Key) currently active in the manufacturer’s database. This is used for full-catalog synchronization and initial SKU-bridge mapping.

Input Parameters

FieldTypeDescription
api-keyStringThe global system access key required for all requests.
vendorStringThe manufacturer identifier (e.g., "americanstandard", "kohler").
functionStringgetProductList
customerIDStringThe distributor's unique account ID.
passkeyStringA secure API key assigned by the manufacturer.
productsArrayA list of product objects to be processed.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getProductList",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY"
}

Response Structure

The products attribute in the response is returned as a flat array of scalars, representing the unique manufacturer SKUs.

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "customerID": "southernphs.com",
  "products": [
    "GWHSE55",
    "ELB90-12",
    "TEE-12",
    "WASHBX-1",
    "ADPT-34-M"
  ]
}

getProductCount

POST /api/

Returns the total number of products currently active in the specified vendor's database. This is a lightweight call used for data validation and synchronization auditing.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getproductcount",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY"
}

Response Structure

FieldValueDescription
success"1"Call was successful.
countIntegerThe total number of products in the manufacturer's file.

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "count": 14250
}

getVendorsPriceSheets

POST /api/

Generates secure, temporary access to the raw price sheets uploaded by the manufacturer. This endpoint filters out system metadata files (e.g., .md5, .last_sync) to provide only the relevant data files for distributor consumption.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key.
vendorStringThe manufacturer ID (e.g., "americanstandard").
functionStringgetVendorsPriceSheets
customerIDStringDistributor account identifier.
passkeyStringSecure account-specific passkey.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getvendorspricesheets",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY"
}

Response Structure

The links array contains the filenames and accessible URLs for the raw manufacturer sheets found in the /sheet_uploads directory.

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "links": [
    { "name": "AS_Master_Pricing_May.xlsx", "link": "https://media.solstiq.com/tmp/AS_Master_Pricing_May.xlsx" },
    { "name": "Faucets_Update_2026.csv", "link": "https://media.solstiq.com/tmp/Faucets_Update_2026.csv" }
  ]
}

getOrderCount

POST /api/

Returns a count of how many purchase orders are on file.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key.
vendorStringThe manufacturer ID (e.g., "americanstandard").
functionStringgetOrderCount
customerIDStringDistributor account identifier.
passkeyStringSecure account-specific passkey.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getOrderCount",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY"
}

Response Structure

The order_cnt attribute shows the number of purchase orders that are on file (all statuses).

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "order_cnt": "97",
  "vendor": "americanstandard",
}

getOrderList

POST /api/

Returns a list of purchase order numbers.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key.
vendorStringThe manufacturer ID (e.g., "americanstandard").
functionStringgetOrderList
customerIDStringDistributor account identifier.
passkeyStringSecure account-specific passkey.

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getOrderList",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY"
}

Response Structure

The purchase_order_no attribute is a list of purchase order numbers. The statuses attribute is a similar list showing the status of each order.The submitted, acknowledged, confirmed, rejected, shipped and invoiced attributes show how many orders there are with each status.

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "purchase_order_nos": [",
    "P1100123",
    "P1101987",
    "P1129010"
  ]
  "statuses": ["
    {"no": "P1100123", "status": "Submitted"},
    {"po": "P1101987", "status": "Confirmed"},
    {"po": "P1129010", "status": "Shipped"}
  ]
  "submitted": "1",
  "acknowledged": "0",
  "confirmed": "1",
  "rejected": "0",
  "shipped": "1",
  "invoiced": "0"
  "vendor": "americanstandard",
  "success": "1"
}

getOrder

POST /api/

Fetches a purchase order.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key.
vendorStringThe manufacturer ID (e.g., "americanstandard").
functionStringgetOrder
customerIDStringDistributor account identifier.
passkeyStringSecure account-specific passkey.
purchase_order_noStringThe purchase order# of the order requested

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getOrder",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "purchase_order_no": "P1234567.001"
}

Response Structure

The purchase_order_no attribute is a list of purchase order numbers. The statuses attribute is a similar list showing the status of each order.The submitted, acknowledged, confirmed, rejected, shipped and invoiced attributes show how many orders there are with each status.

Response Sample

{
  "success": "1",
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "order": {",
    "billto":{
      "btaddress":"113 California Blvd",
      "btcity":"Arlington",
      "btname":"American Plumbing & Heating Supply Corp.",
      "btpostal":"22201",
      "btstate":"VA"
    },
    "customerID":"user@gmail.com",
    "items":[
      {
        "amt":"277.5",
        "catalog_no":"PPLN0012",
        "desc":"045-11440 642PX2 1/2 POLY PEX 90 ELL",
        "expdate":"20260505",
        "lineno":"1",
        "pformula":"EX5P1",
        "price_uom":"ea",
        "product":"200241",
        "productID":"200241",
        "qty_open":"750",
        "quantity":"750",
        "unit_price":"0.37",
        "uom":"ea",
        "upc":"0123456789",
        "seller_sku":"01234567890",
        "seller_desc":"1/2 POLY PEX 90 ELL, BLK"
      }
    ]
    "last_update":"20260505",
    "podate":"20260505",
    "postatus":"submitted",
    "purchase_order_no":"P1170923.001",
    "ship_to_branch":"4",
    "shipto":{
      "staddress":"4321 Pennsylvania Avenue",
      "stcity":"Washington",
      "stname":"American Plumbing & Heating Supply Corp.",
      "stpostal":"20001",
      "ststate":"DC"
    },
    "status":"Submitted",
    "subtotal":"1550",
    "total":"1550",
    "vendor":"everflow",
    "writer":"clarkyennie@gmail.com"
  }
  "vendor": "americanstandard",
  "success": "1"
}

submitOrder

POST /api/

If the vendor supports EDI, an EDI X12 850 document is created and put in the vendor's inbox. If the vendor supports email, a spreadsheet of the order is sent to their designated email address. The status of the order is then changed to "Submitted" and the order is updated on the vendor's gateway.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key.
vendorStringThe manufacturer ID (e.g., "americanstandard").
functionStringgetOrder
customerIDStringDistributor account identifier.
passkeyStringSecure account-specific passkey.
orderJSONThe purchase order

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getOrder",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "order": {",
    "billto":{
      "btaddress":"113 California Blvd",
      "btcity":"Arlington",
      "btname":"American Plumbing & Heating Supply Corp.",
      "btpostal":"22201",
      "btstate":"VA"
    },
    "customerID":"user@gmail.com",
    "items":[
      {
        "amt":"277.5",
        "catalog_no":"PPLN0012",
        "desc":"045-11440 642PX2 1/2 POLY PEX 90 ELL",
        "expdate":"20260505",
        "lineno":"1",
        "pformula":"EX5P1",
        "price_uom":"ea",
        "product":"200241",
        "productID":"200241",
        "qty_open":"750",
        "quantity":"750",
        "unit_price":"0.37",
        "uom":"ea",
        "upc":"0123456789",
        "seller_sku":"01234567890",
        "seller_desc":"1/2 POLY PEX 90 ELL, BLK"
      }
    ]
    "last_update":"20260505",
    "podate":"20260505",
    "postatus":"submitted",
    "purchase_order_no":"P1170923.001",
    "ship_to_branch":"4",
    "shipto":{
      "staddress":"4321 Pennsylvania Avenue",
      "stcity":"Washington",
      "stname":"American Plumbing & Heating Supply Corp.",
      "stpostal":"20001",
      "ststate":"DC"
    },
    "status":"Submitted",
    "subtotal":"1550",
    "total":"1550",
    "vendor":"everflow",
    "writer":"clarkyennie@gmail.com"
  }
}

Response Structure

If successful, "success": "1". If unsuccessful, "success" is missing and "error" may contain a description of the error.

Response Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "success": "1"
}

updateOrder

POST /api/

Updates a purchase order on the vendor's gateway.

Request Parameters

FieldTypeDescription
api-keyStringThe global system access key.
vendorStringThe manufacturer ID (e.g., "americanstandard").
functionStringgetOrder
customerIDStringDistributor account identifier.
passkeyStringSecure account-specific passkey.
orderJSONThe purchase order

Request Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "function": "getOrder",
  "customerID": "southernphs.com",
  "passkey": "ACCOUNT-SPECIFIC-PASSKEY",
  "order": {",
    "billto":{
      "btaddress":"113 California Blvd",
      "btcity":"Arlington",
      "btname":"American Plumbing & Heating Supply Corp.",
      "btpostal":"22201",
      "btstate":"VA"
    },
    "customerID":"user@gmail.com",
    "items":[
      {
        "amt":"277.5",
        "catalog_no":"PPLN0012",
        "desc":"045-11440 642PX2 1/2 POLY PEX 90 ELL",
        "expdate":"20260505",
        "lineno":"1",
        "pformula":"EX5P1",
        "price_uom":"ea",
        "product":"200241",
        "productID":"200241",
        "qty_open":"750",
        "quantity":"750",
        "unit_price":"0.37",
        "uom":"ea",
        "upc":"0123456789",
        "seller_sku":"01234567890",
        "seller_desc":"1/2 POLY PEX 90 ELL, BLK"
      }
    ]
    "last_update":"20260505",
    "podate":"20260505",
    "postatus":"submitted",
    "purchase_order_no":"P1170923.001",
    "ship_to_branch":"4",
    "shipto":{
      "staddress":"4321 Pennsylvania Avenue",
      "stcity":"Washington",
      "stname":"American Plumbing & Heating Supply Corp.",
      "stpostal":"20001",
      "ststate":"DC"
    },
    "status":"Submitted",
    "subtotal":"1550",
    "total":"1550",
    "vendor":"everflow",
    "writer":"clarkyennie@gmail.com"
  }
}

Response Structure

If successful, "success": "1". If unsuccessful, "sucess" is missing and "error" may contain a description of the error.

Response Sample

{
  "api-key": "SYSTEM-WIDE-ACCESS-KEY",
  "vendor": "americanstandard",
  "success": "1"
}