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.