Product API
Search the ABC Supply product catalog and view product information. Get product availability and key product attributes across several product hierarchies.
The Search Items endpoint returns a list of items given your search criteria. The response includes details about each item and key product attributes, such as color, dimension, material hazard, size, image links, Proposition 65 warnings, and a reference to product hierarchy.
Product API
Search Items
POST /search/items
Search for items based on specific product attributes
Sandbox
Production
Authorization
OAuth 2.0 server or user token with the product.read scope.
Request
To make a search request, use the filters[].condition value of “contains”.
- Available types for searching are “longDescription” and “itemNumber”
To make a filter request, use the filters[].condition value of “equals” for a single value to filter or “in” to include multiple values in the filter.
- Available types for filtering are “itemNumber” and “branchNumber”
Multiple filters objects can be provided to create a search or filter on multiple criteria.
Name
Type
Description
filters
array
The list of filter objects for the item search.
filters[].condition
string
The filter condition for the search (e.g., “contains”, “equals”, “in”).
filters[].condition = “contains”
filters[].key
enum
The type of filter (e.g., “longDescription”, “itemNumber”).
filters[].values
array
The list of values for the “contains” filter.
filters[].condition = “equals” or “in”
filters[].key
enum
The type of filter (e.g., “itemNumber”, “branchNumber”).
filters[].values
array
The list of values for the “equals” or “in” filter.
Pagination
pagination
object
The object containing the pagination details for the search results.
pagination.itemsPerPage
integer
The number of items displayed per page in the search results. Defaults to 50 items per page.
pagination.pageNumber
integer
The current page number being displayed in the search results. Defaults to page 1.
Example Request
Search By Category Request Payload.
POST /api/product/v1/search/items HTTP/1.1
Host: partner.abcsupply.com
Authorization: Bearer <TOKEN>
{
"filters": [
{
"key": "itemNumber",
"condition": "contains",
"values": ["TZ3WW"]
},
{
"key": "longDescription",
"condition": "contains",
"values": ["Shingles"]
}
],
"pagination": {
"itemsPerPage": 20,
"pageNumber": 2
}
}
Response
Example Response
Search Response Payload
{
"pagination": {
"itemsPerPage": 50,
"pageNumber": 2,
"totalPages": 5,
"totalItems": 100
},
"items": [
{
"itemNumber": "02GASTZ3WW",
"familyId": "PFam_3357501",
"itemDescription": "GAF StainGuard Timberline High Definition with StrikeZone Shingles Weathered Wood 3 Bdl Per Square",
"status": "Active",
"familyItems": [
{
"itemNumber": "02GASTZ3PG",
"itemDescription": "GAF StainGuard Timberline High Definition with StrikeZone Shingles Pewter Gray 3 Bundle Per Square",
"color": "Pewter Grey"
}],
"color": {
"description": "Product Color",
"code": "384",
"name": "Gray"
},
"finish": {
"description": "Product Finish",
"code": "N/A",
"name": "Sanded"
},
"weights": [
{
"value": "1300",
"uom": "lbs",
"description": "Weight (lbs.)"
}
],
"uoms": [
{
"name": "Bundle",
"code": "BD",
"description": "Ordering UOM"
}
],
"dimensions": {
"width": {
"value": "4.9",
"uom": "ft",
"description": "Width (ft.)"
},
"thickness": {
"value": "1.5",
"uom": "in",
"description": "Thickness (in.)"
},
"height": {
"value": "1.5",
"uom": "in",
"description": "height (in.)"
},
"variations": [
{
"size": "1.5' X 4.5' X 4.9'",
"conversionFactor": 1,
"type": "standard",
"length": {
"value": "10",
"uom": "feet",
"uomCode": "ft",
"description": "Length (ft.)"
}
}
]
},
"specifications": [
{
"name": "Spec Warranty",
"code": "143",
"description": "Dimensional Shingles - 143"
},
{
"name": "Special Attributes",
"code": "24",
"description": "Standard Colors"
},
{
"name": "Size Profile",
"code": "610",
"description": "Metric"
},
{
"name": "Fire Rating",
"code": "Class A",
"description": "Class A"
},
{
"name": 10,
"code": "001",
"description": "Material Hazard"
}
],
"prop65Warnings": [
{
"label": "WARNING: This product can expose you to chemicals including Silica, crystalline (airborne particles of\nrespirable size),Titanium dioxide (airborne, unbound particles of respirable size), which are known to the State of\nCalifornia to cause cancer. For more information go to www.P65Warnings.ca.gov.",
"display": true,
"type": "chemical",
"locale": "English"
}
],
"images": [
{
"assetId": "02gastz3ww-product",
"type": "RepresentativeProductImageReference",
"href": "https://partners.abcsupply.com/product/v1/items/02GASTZ3WW/images/02gastz3ww-product"
}
],
"hierarchy": {
"productGroup": {
"name": "Steep Slope Products - 1",
"code": "1",
"label": "Steep Slope Products",
"description": "Steep Slope Products",
"category": {
"name": "Steep Slope Roofing (\n<gt />2:12 Pitch) - 13",
"code": "13",
"label": "Steep Slope Roofing ",
"description": "Steep Slope Roofing (\n<gt />2:12 Pitch)",
"productType": {
"name": "Fiberglass Laminated Shingle - 70",
"code": "70",
"label": "Fiberglass Laminated Shingle",
"description": "Fiberglass Laminated Shingle",
"materialComposition": {
"name": "Asphalt Composition Shingles And H& - 62",
"code": "62",
"label": "Asphalt Composition Shingles",
"description": "Asphalt Composition Shingles And H&",
"warranty": {
"name": "Dimensional Shingles - 143",
"code": "143",
"label": "Dimensional Shingles",
"description": "Dimensional Shingles",
"brandLine": {
"name": "GAF Timberline HD - 3232",
"code": "143",
"label": "GAF Timberline HD",
"description": "GAF Timberline HD"
}
}
}
}
}
}
},
"branches": [
{
"number": "409",
"name": "ABC Supply - Bililngs, MT",
"links": {
"self": "https://partner.abcsupply.com/location/v1/branches/409"
}
}
]
}
]
}
Name
Type
Description
pagination
object
The object containing pagination information.
pagination.itemsPerPage
integer
The number of items returned per page.
pagination.pageNumber
integer
The current page number of the response.
pagination.totalPages
integer
The number of total pages in the response.
pagination.totalItems
integer
The total number of items returned in the response.
items
array
This array contains item details.
item.familyid
string
A unique series of alphanumeric characters used to identify the product family.
familyItems
array
The list of Items in the Product Family.
itemNumber
string
A unique series of alphanumeric characters used to identify the product.
itemDescription
string
The human readable description of the product.
color
string
Color Description.
items[].itemNumber
string
The ABC Supply item number.
items[].itemDescription
string
The description of the item.
items[].status
enum
The status of the item (e.g., “Active”, “Inactive”).
items[].color
object
The object describing the item color.
items[].color.description
object
The description of the color.
items[].color.code
string
The code for the color.
items[].color.name
string
The name of the color.
items[].finish
object
The object describing the item finish.
items[].finish.code
string
The code for the finish, if applicable. (Available in a future release.)
items[].finish.name
string
The name of the finish. (Available in a future release.)
items[].finish.description
string
The description of the finish. (Available in a future release.)
items[].weights
array
The list of available weights of the item.
items[].weights[].uom
enum
The unit of measure of the weight (e.g., “lbs”).
items[].weights[].value
string
The value of the weight of the item.
items[].weights[].description
string
The description of the unit of measure for the weight (e.g., “Weight (lbs.)”).
items[].uoms
array
The list of the units of measure of the item.
items[].uoms[].name
string
The name of the unit of measure.
items[].uoms[].code
string
The code of the unit of measure.
items[].uoms[].description
string
The description of the unit of measure.
items[].dimensions
object
The object describing the product dimensions.
items[].dimensions.width
object
The object describing the product width.
items[].dimensions.width.uom
enum
The unit of measurement of the width dimension.
items[].dimensions.width.value
string
The value of the width dimension.
items[].dimensions.width.description
string
The description of the width unit of measure (e.g., “Width (ft.)”).
items[].dimensions.thickness
object
The object describing the item thickness.
items[].dimensions.thickness.uom
enum
The unit of measurement of the thickness dimension.
items[].dimensions.thickness.value
string
The value of the thickness dimension.
items[].dimensions.thickness.description
string
The description of the thickness unit of measure (e.g., “Thickness (in.)”).
items[].dimensions.height
object
The object describing the height of the item. (Available in a future release.)
items[].dimensions.height.uom
enum
The unit of measurement of the height dimension.
items[].dimensions.height.value
string
The value of the height dimension.
items[].dimensions.height.description
string
The description of the height unit of measure (e.g., “Height (in.)”). (Available in a future release.)
items[].dimensions.variations
array
The list of available variations for the size of the item.
items[].dimensions.variations[].size
string
The text of the size variation. (Available in a future release.)
items[].dimensions.variations[].conversionFactor
integer
The conversion factor of the variation.
items[].dimensions.variations[].type
enum
Whether the size is standard or not.
items[].dimensions.variations[].length
object
The object describing the length variation for the item.
items[].dimensions.length[].uom
enum
The unit of measure of the length variation.
items[].dimensions.length[].value
string
The value of the length variation.
items[].dimensions.length[].description
string
The description of the length variation unit of measure (e.g., “Length (in).”).
items[].dimensions.length[].uomCode
string
The unit of measure code of the length variation.
items[].specifications
array
The list of specifications for the item. (Available in a future release.)
items[].specifications[].name
string
The name of a specification (e.g., “Spec Warranty”). (Available in a future release.)
items[].specifications[].code
string
The code for the specification. (Available in a future release.)
items[].specifications[].description
string
The description of the specification.
items[].prop65Warnings
array
The list of Proposition 65 warnings for the item.
items[].prop65Warnings[].label
string
The text of the proposition 65 warning.
items[].prop65Warnings[].display
boolean
The Boolean specifying if the warning should be displayed.
items[].prop65Warnings[].type
enum
The type of the Proposition 65 warning (e.g., “chemical”).
items[].prop65Warnings[].locale
string
The localization language of the Proposition 65 warning.
items[].images
array
The list of image links available for the item. (Available in a future release.)
items[].images[].assetId
string
The asset ID of the image link. (Available in a future release.)
items[].images[].type
enum
The type of image link (e.g., “RepresentativeProductImageReference”). (Available in a future release.)
items[].images[].href
string
The URL for the image. (Available in a future release.)
items[].hierarchy
object
The object describing the product hierarchy of the item.
items[].hierarchy.productGroup
object
The object describing the product group of the item.
items[].hierarchy.productGroup.name
string
The name of the product group.
items[].hierarchy.productGroup.code
string
The code for the product group.
items[].hierarchy.productGroup.description
string
The full description of the product group.
items[].hierarchy.productGroup.label
string
The abbreviated description of the product group.
items[].hierarchy.productGroup.category
object
The object describing the product category of the item.
items[].hierarchy.productGroup.category.name
string
The name of the product category.
items[].hierarchy.productGroup.category.code
string
The code for the product category.
items[].hierarchy.productGroup.category.description
string
The full description of the product category.
items[].hierarchy.productGroup.category.label
string
The abbreviated description of the product category.
items[].hierarchy.productGroup.category.productType
object
The object describing the product type of the item.
items[].hierarchy.productGroup.category.productType.name
string
The name of the product type.
items[].hierarchy.productGroup.category.productType.code
string
The code for the product type.
items[].hierarchy.productGroup.category.productType.description
string
The full description of the product type.
items[].hierarchy.productGroup.category.productType.label
string
The abbreviated description of the product type.
items[].hierarchy.productGroup.category.productType.materialComposition
object
The object describing the material composition of the item.
items[].hierarchy.productGroup.category.productType.materialComposition.name
string
The name of the material composition.
items[].hierarchy.productGroup.category.productType.materialComposition.code
string
The code for the material composition.
items[].hierarchy.productGroup.category.productType.materialComposition.description
string
The full description of the material composition.
items[].hierarchy.productGroup.category.productType.materialComposition.label
string
The abbreviated description of the material composition.
items[].hierarchy.productGroup.category.productType.materialComposition.warranty
object
The code for the warranty.
items[].hierarchy.productGroup.category.productType.materialComposition.warranty.name
string
The name of the warranty.
items[].hierarchy.productGroup.category.productType.materialComposition.warranty.code
string
The code representing the warranty.
items[].hierarchy.productGroup.category.productType.materialComposition.warranty.description
string
The full description of the warranty.
items[].hierarchy.productGroup.category.productType.materialComposition.warranty.label
string
The abbreviated description of the warranty.
items[].hierarchy.productGroup.category.productType.materialComposition.brandLine
object
The object describing the brand line of the item.
items[].hierarchy.productGroup.category.productType.materialComposition.brandLine.name
string
The name of the brand line.
items[].hierarchy.productGroup.category.productType.materialComposition.brandLine.code
string
The code for the brand line.
items[].hierarchy.productGroup.category.productType.materialComposition.brandLine.description
string
The full description of the brand line.
items[].hierarchy.productGroup.category.productType.materialComposition.brandLine.label
string
The abbreviated description of the brand line.
items[].branches
array
The list of ABC Supply branches with item availability.
items[].branches[].name
string
The ABC Supply branch name.
items[].branches[].number
string
The ABC Supply branch number.
items[].items[].branches[].links
object
The object containing reference links for the ABC Supply branch.
items[].branches[].links.self
string
The API reference link for the ABC Supply branch.
HTTP Status Codes
Name
Type
Description
400
Bad Request
Check the Request to make sure the Request Body and Parameters are passed correctly based on the API documentation.
404
Object Not Found
The request returned empty or no object. Please check the object identifier.
Additional Examples
Example Request
Search By Size Request Payload
{
"filters": [
{
"key": "Category",
"condition": "contains",
"values": ["Roofing"],
"joinCondition": "or"
},
{
"key": "Size Profile",
"condition": "contains",
"values": ["Metric"],
"joinCondition": null
}
],
"pagination": {
"itemsPerPage": 20,
"pageNumber": 2
}
}
Example Request
Search By Color Request Payload
{
"filters": [
{
"key": "Color",
"condition": "equals",
"values": ["Gray"]
}
],
"pagination": {
"itemsPerPage": 20,
"pageNumber": 2
}
}