ScanSource Products API

Product information, search, and catalog operations

OpenAPI Specification

scansource-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ScanSource Invoice Availability Products API
  description: The ScanSource Invoice API provides programmatic access to invoicing data for technology distribution partners. Includes invoice summaries, detailed invoice lists, individual invoice details, and PDF export capabilities with filtering by date range and order identifiers.
  version: 1.0.0
  contact:
    name: ScanSource Partner Support
    email: B2BRequest@scansource.com
    url: https://partnerportal.scansource.com
servers:
- url: https://services.scansource.com/api
  description: ScanSource Production API
tags:
- name: Products
  description: Product information, search, and catalog operations
paths:
  /product/search:
    get:
      operationId: searchProducts
      summary: Search Products
      description: Search for products in the ScanSource catalog using filters such as manufacturer, category, and keyword text. Returns paginated results.
      tags:
      - Products
      parameters:
      - name: customerNumber
        in: query
        required: true
        description: Customer account number for the requesting partner
        schema:
          type: string
      - name: itemNumber
        in: query
        required: false
        description: Specific item number to search for
        schema:
          type: string
      - name: partNumberType
        in: query
        required: false
        description: Type of part number (manufacturer, vendor, etc.)
        schema:
          type: string
      - name: manufacturer
        in: query
        required: false
        description: Filter by manufacturer name
        schema:
          type: string
      - name: catalogName
        in: query
        required: false
        description: Filter by catalog name
        schema:
          type: string
      - name: categoryPath
        in: query
        required: false
        description: Filter by category path
        schema:
          type: string
      - name: includeObsolete
        in: query
        required: false
        description: Include discontinued/obsolete products in results
        schema:
          type: boolean
      - name: searchText
        in: query
        required: false
        description: Free-text search string
        schema:
          type: string
      - name: useAndOperator
        in: query
        required: false
        description: Use AND operator between search terms (vs OR)
        schema:
          type: boolean
      - name: region
        in: query
        required: false
        description: Geographic region for the search
        schema:
          type: string
      - name: page
        in: query
        required: false
        description: Page number for pagination
        schema:
          type: integer
          default: 1
      - name: pageSize
        in: query
        required: false
        description: Number of results per page
        schema:
          type: integer
          default: 20
          maximum: 100
      responses:
        '200':
          description: Successful product search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSearchResponse'
        '400':
          description: Bad request - invalid parameters
        '401':
          description: Unauthorized - invalid subscription key
        '403':
          description: Forbidden - invalid customer number
      security:
      - ApiKeyAuth: []
  /product/detail:
    get:
      operationId: getProductDetail
      summary: Get Product Detail
      description: Retrieve detailed product information including specifications, dimensions, weight, and other attributes for a specific item.
      tags:
      - Products
      parameters:
      - name: customerNumber
        in: query
        required: true
        description: Customer account number for the requesting partner
        schema:
          type: string
      - name: itemNumber
        in: query
        required: true
        description: Item number to retrieve details for
        schema:
          type: string
      - name: partNumberType
        in: query
        required: false
        description: Type of part number provided
        schema:
          type: string
      - name: region
        in: query
        required: false
        description: Geographic region for pricing
        schema:
          type: string
      responses:
        '200':
          description: Successful product detail response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDetail'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Product not found
      security:
      - ApiKeyAuth: []
components:
  schemas:
    ProductSearchResponse:
      type: object
      properties:
        totalCount:
          type: integer
          description: Total number of matching products
        page:
          type: integer
          description: Current page number
        pageSize:
          type: integer
          description: Number of results per page
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProductSummary'
    ProductDetail:
      type: object
      properties:
        itemNumber:
          type: string
          description: ScanSource item number
        manufacturerPartNumber:
          type: string
          description: Manufacturer part number
        manufacturer:
          type: string
          description: Manufacturer name
        description:
          type: string
          description: Detailed product description
        specifications:
          type: object
          description: Product technical specifications
          additionalProperties:
            type: string
        weight:
          type: number
          description: Product weight in pounds
        dimensions:
          type: object
          properties:
            length:
              type: number
            width:
              type: number
            height:
              type: number
        categoryPath:
          type: string
          description: Product category hierarchy
        upc:
          type: string
          description: Universal Product Code
        isObsolete:
          type: boolean
          description: Whether the product has been discontinued
    ProductSummary:
      type: object
      properties:
        itemNumber:
          type: string
          description: ScanSource item number
        manufacturerPartNumber:
          type: string
          description: Manufacturer part number
        manufacturer:
          type: string
          description: Manufacturer name
        description:
          type: string
          description: Product description
        categoryPath:
          type: string
          description: Product category path
        isObsolete:
          type: boolean
          description: Whether the product is discontinued
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Ocp-Apim-Subscription-Key
      description: Azure API Management subscription key from ScanSource partner portal