target Products API

Product catalog and detail operations

OpenAPI Specification

target-products-api-openapi.yml Raw ↑
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/