3M

3M Products API

Retrieve product catalog and pricing information.

OpenAPI Specification

3m-products-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: 3M Partner and Supplier Deliveries Products API
  description: The 3M Partner and Supplier API provides real-time access to 3M product, pricing, order, delivery, and invoice data for partners and suppliers. The API supports GET and POST operations for product/price lookups, order and delivery tracking, and invoice status queries. Authentication uses OAuth 2.0 bearer tokens with client credentials provided during onboarding.
  version: '1.0'
servers:
- url: https://api.3m.com
  description: Production server
security:
- bearerAuth: []
tags:
- name: Products
  description: Retrieve product catalog and pricing information.
paths:
  /products:
    get:
      operationId: listProducts
      summary: 3M List Products
      description: Retrieves a list of 3M products available to partners and suppliers with pricing and availability information.
      tags:
      - Products
      parameters:
      - name: category
        in: query
        description: Filter products by product category.
        schema:
          type: string
        example: adhesives
      - name: sku
        in: query
        description: Filter by specific product SKU.
        schema:
          type: string
        example: SKU-12345
      responses:
        '200':
          description: Successful response with product list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductList'
              examples:
                ListProducts200Example:
                  summary: Default listProducts 200 response
                  x-microcks-default: true
                  value:
                    products:
                    - productId: PROD-12345
                      name: 3M Scotch Heavy Duty Tape
                      sku: SKU-12345
                      category: adhesives
                      description: Heavy duty packaging tape for industrial use
                      unitPrice: 24.99
                      currency: USD
                      availability: in-stock
        '401':
          description: Unauthorized - invalid or missing bearer token
        '403':
          description: Forbidden - insufficient permissions for this resource
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /products/{productId}/price:
    get:
      operationId: getProductPrice
      summary: 3M Get Product Price
      description: Retrieves the current pricing information for a specific 3M product based on the partner agreement and negotiated pricing tiers.
      tags:
      - Products
      parameters:
      - name: productId
        in: path
        required: true
        description: The unique product identifier.
        schema:
          type: string
        example: PROD-12345
      responses:
        '200':
          description: Successful response with product pricing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPrice'
              examples:
                GetProductPrice200Example:
                  summary: Default getProductPrice 200 response
                  x-microcks-default: true
                  value:
                    productId: PROD-12345
                    unitPrice: 24.99
                    currency: USD
                    pricingTier: partner
                    effectiveDate: '2025-01-01'
                    expirationDate: '2025-12-31'
        '401':
          description: Unauthorized
        '404':
          description: Product not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Product:
      type: object
      description: A 3M product available to partners and suppliers
      properties:
        productId:
          type: string
          description: Unique product identifier
          example: PROD-12345
        name:
          type: string
          description: Product display name
          example: 3M Scotch Heavy Duty Tape
        sku:
          type: string
          description: Stock Keeping Unit identifier
          example: SKU-12345
        category:
          type: string
          description: Product category
          example: adhesives
        description:
          type: string
          description: Detailed product description
          example: Heavy duty packaging tape for industrial use
        unitPrice:
          type: number
          description: Unit price for the product
          example: 24.99
        currency:
          type: string
          description: Currency code (ISO 4217)
          example: USD
        availability:
          type: string
          description: Product availability status
          enum:
          - in-stock
          - out-of-stock
          - limited
          - discontinued
          example: in-stock
    ProductPrice:
      type: object
      description: Pricing information for a specific 3M product
      properties:
        productId:
          type: string
          description: Unique product identifier
          example: PROD-12345
        unitPrice:
          type: number
          description: Partner-negotiated unit price
          example: 24.99
        currency:
          type: string
          description: Currency code (ISO 4217)
          example: USD
        pricingTier:
          type: string
          description: Pricing tier applied to this partner
          example: partner
        effectiveDate:
          type: string
          format: date
          description: Date when this pricing becomes effective
          example: '2025-01-01'
        expirationDate:
          type: string
          format: date
          description: Date when this pricing expires
          example: '2025-12-31'
    ProductList:
      type: object
      description: List of 3M products
      properties:
        products:
          type: array
          description: Array of product records
          items:
            $ref: '#/components/schemas/Product'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token obtained through client credentials flow. Provided during onboarding.