OpenAPI Specification
openapi: 3.1.0
info:
title: Target Inventory Stores 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: Stores
description: Store locator and store information
paths:
/stores/v3:
get:
operationId: listStores
summary: List Stores
description: Returns a list of Target stores optionally filtered by location, ZIP code, or geographic coordinates.
tags:
- Stores
parameters:
- name: zip
in: query
required: false
description: ZIP code to search near
schema:
type: string
- name: latitude
in: query
required: false
description: Latitude for geographic search
schema:
type: number
- name: longitude
in: query
required: false
description: Longitude for geographic search
schema:
type: number
- name: radius
in: query
required: false
description: Search radius in miles
schema:
type: integer
default: 25
- name: limit
in: query
required: false
description: Maximum number of stores to return
schema:
type: integer
default: 10
maximum: 50
responses:
'200':
description: List of stores
content:
application/json:
schema:
$ref: '#/components/schemas/StoreList'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/stores/v3/{store_id}:
get:
operationId: getStore
summary: Get Store Details
description: Returns detailed information about a specific Target store.
tags:
- Stores
parameters:
- name: store_id
in: path
required: true
description: Target store ID
schema:
type: string
responses:
'200':
description: Store details
content:
application/json:
schema:
$ref: '#/components/schemas/Store'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
schemas:
StoreHours:
type: object
properties:
day:
type: string
description: Day of week
open:
type: string
description: Opening time (HH:MM)
close:
type: string
description: Closing time (HH:MM)
Store:
type: object
properties:
store_id:
type: string
description: Target store ID
name:
type: string
description: Store name
address:
$ref: '#/components/schemas/Address'
phone:
type: string
description: Store phone number
hours:
type: array
items:
$ref: '#/components/schemas/StoreHours'
latitude:
type: number
description: Store latitude
longitude:
type: number
description: Store longitude
features:
type: array
items:
type: string
description: Store features (pharmacy, Starbucks, optical, etc.)
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
StoreList:
type: object
properties:
stores:
type: array
items:
$ref: '#/components/schemas/Store'
total:
type: integer
Address:
type: object
properties:
street:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
default: US
responses:
Unauthorized:
description: Authentication credentials are missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Rate limit exceeded
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/