Extra REST APIs

True REST/JSON APIs — not SOAP proxies

Unlike our proxy endpoints — which translate PromoStandards SOAP/XML into REST/JSON — the Extra APIs are native REST APIs built from the ground up. They combine data from multiple PromoStandards services into clean, unified responses with filtering, pagination, and search built in.

These APIs power our own products, including PromoSync for Shopify and Product Search, so they're battle-tested at scale.

Recommendation: If an endpoint has both v1 and v2 versions, use v2. V2 endpoints use page-based pagination and improved response formats.

One Call Instead of Many

The Product Detail endpoint supports an expand parameter that lets you pull product data, pricing, inventory, media, and classifications in a single API call.

With the proxy endpoints, you need to call getProduct for product data, then separate calls for blank list price, blank net price, media, and inventory — that's five API calls just for blank pricing. Need decoration/location pricing too? Add two more for decorated list and decorated net — seven calls total. With the Extra API, you pass expand=combined_ppc,medias,inventory,classifications and get everything in one shot — blank, decorated, list, net, and customer prices all included.

Expandable Fields (v2)

combined_ppc

List, net, and customer prices (blank & decorated) — all merged into one response

medias

All product images and media content

inventory

Stock levels for all product variants

classifications

Shopify, Google, Amazon, Avalara, and TaxJar categories

Smaller Payload, No Duplication

With the proxy, each price type returns a full copy of every part — the same partId, partDescription, partGroup, and LocationIdArray repeated across every response. With combined_ppc, each part appears once and all price types are merged into a single PartPrice:

{
  "partId": "2967821",
  "PartPriceArray": {
    "PartPrice": [{
      "minQuantity": 1,
      "listPrice": null,
      "netPrice": "9.66",
      "customerPrice": null,
      "priceUom": "CA"
    }]
  }
}

Three price types in one object instead of three separate responses — less bandwidth, less parsing, less complexity.

V1 note: In v1, pricing is split into 6 separate expand fields (list_blank_ppc, net_decorated_ppc, etc.). V2's combined_ppc merges all of them into one.

Available Endpoints

Products

GET /extra/v2/products

Search and filter across all products with support for supplier, brand, status, price range, lead time, apparel style, and more. Page-based pagination.

GET /extra/v2/products/{product_id}

Full product details with the expand parameter for pricing, media, inventory, and classifications in a single call.

GET /extra/v2/products/metafields

Batch lookup of product metafields (extra_id, supplier_code, product_id) by extra_id.

GET /extra/v2/products/get-extra-id/

Look up the internal Extra ID using supplier code and product ID.

GET /extra/v2/products/get-metafields-by-title/

Look up product metafields using supplier code and product title.

GET /extra/v1/products/{product_id}/sorted-parts

Get top-selling variants for a product sorted by sales data. Configurable lookback period.

GET /extra/v1/products/{extra_id}/classifications

Get product classifications for Shopify, Google, Amazon, Avalara, and TaxJar.

Pricing

GET /extra/v2/products/{product_id}/ppcs

Combined pricing data with list, net, and customer prices for all quantity tiers — blank and decorated — in one response. Supports USD and CAD.

Inventory

GET /extra/v2/inventory/{supplier_code}

Paginated inventory records for a supplier. Filter by product_id, part_id, or time-based changes (e.g. last_modified__since=1h).

Suppliers

GET /extra/v2/suppliers

List all suppliers with filtering by Shopify-ready status, credentials availability, and decorations support.

Brands

GET /extra/v2/brands

List brands, optionally filtered by supplier.

Categories

GET /extra/v2/categories

List product categories, optionally filtered by supplier.

Decorations

GET /extra/v2/suppliers/{supplier_code}/decorations

Decoration methods and pricing for a supplier. Supports USD and CAD.

Colors

GET /extra/v2/colors/{supplier_code}

Get enriched color hex data for specific color names.

GET /extra/v2/colors/{supplier_code}/product/{product_id}

Get color hex data for all colors in a product's variants.

Part ID Mappings

GET /extra/v2/part-id-mappings

Resolve part ID mappings across services (med_id, inv_id, ppc_id) for a supplier.

Scraper

GET /extra/v1/scrape/{supplier_code}

Extract structured data (master carton, case pack, dimensions, weights) from supplier pages.

Questions? Contact us to learn more about the Extra APIs and the Premium plan.