OpenAPI Specification
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/