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

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
    } 
}
Expand

Response

Example Response

Search Response Payload

{
    "pagination": {
        "itemsPerPage": 50,
        "pageNumber": 2,
        "totalPages": 5,
        "totalItems": 100
    },
    "items": [
        {
            "itemNumber": "02GASTZ3WW",
            "itemDescription": "GAF StainGuard Timberline High Definition with StrikeZone Shingles Weathered Wood 3 Bdl Per Square",
            "status": "Active",
            "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"
                    }
                }
            ]
        }
    ]
}
Expand

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.

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
    } 
}
Expand

Example Request

Search By Color Request Payload

{
  "filters": [
    {
      "key": "Color",
      "condition": "equals",
      "values": ["Gray"]
    }
  ],
    "pagination": {
        "itemsPerPage": 20,
        "pageNumber": 2
    } 
}
Expand