openapi: 3.1.0 info: title: Target Inventory Products API description: Target provides partner APIs for product catalog access, inventory availability, order management, and store information. These APIs enable technology partners and affiliates to integrate with Target's retail platform. The Redsky aggregation platform powers client-managed REST APIs built on GraphQL queries covering product, price, promotion, and fulfillment data. version: '1.0' contact: name: Target Developer Support url: https://developer.target.com/ termsOfService: https://developer.target.com/terms servers: - url: https://api.target.com description: Production security: - bearerAuth: [] tags: - name: Products description: Product catalog and detail operations paths: /products/v3/{tcin}: get: operationId: getProduct summary: Get Product Details description: Retrieves detailed product information for a given TCIN (Target Corporation Item Number) including title, description, images, pricing, and attributes. tags: - Products parameters: - name: tcin in: path required: true description: Target Corporation Item Number (TCIN) schema: type: string - name: store_id in: query required: false description: Store ID for localized pricing and availability schema: type: string - name: zip in: query required: false description: ZIP code for localized pricing schema: type: string - name: fields in: query required: false description: Comma-separated list of fields to return schema: type: string responses: '200': description: Product details content: application/json: schema: $ref: '#/components/schemas/ProductDetail' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /products/v3: get: operationId: listProducts summary: List Products description: Returns a list of products by TCINs or other filter criteria. tags: - Products parameters: - name: tcins in: query required: false description: Comma-separated list of TCINs schema: type: string - name: category in: query required: false description: Category ID to filter products schema: type: string - name: brand in: query required: false description: Brand name to filter products schema: type: string - name: limit in: query required: false description: Maximum number of results schema: type: integer default: 20 maximum: 100 - name: offset in: query required: false description: Offset for pagination schema: type: integer default: 0 responses: '200': description: List of products content: application/json: schema: $ref: '#/components/schemas/ProductList' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: Price: type: object properties: current_retail: type: number description: Current retail price regular_retail: type: number description: Regular (non-sale) retail price sale_price: type: number description: Sale price if applicable is_on_sale: type: boolean description: Whether the product is currently on sale currency: type: string default: USD ProductDetail: type: object properties: tcin: type: string description: Target Corporation Item Number title: type: string description: Product title description: type: string description: Product description brand: type: string description: Brand name category: type: string description: Product category path images: type: array items: $ref: '#/components/schemas/ProductImage' price: $ref: '#/components/schemas/Price' rating: $ref: '#/components/schemas/Rating' dpci: type: string description: Department-class-item number upc: type: string description: Universal Product Code ProductImage: type: object properties: url: type: string format: uri description: Image URL type: type: string description: Image type (primary, alternate, lifestyle) width: type: integer height: type: integer Rating: type: object properties: average: type: number description: Average customer rating (0-5) count: type: integer description: Total number of ratings Error: type: object properties: code: type: string description: Error code message: type: string description: Human-readable error message details: type: string description: Additional error details ProductList: type: object properties: products: type: array items: $ref: '#/components/schemas/ProductDetail' total: type: integer description: Total number of matching products limit: type: integer offset: type: integer responses: TooManyRequests: description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication credentials are missing or invalid content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Target Developer Portal url: https://developer.target.com/