OpenAPI Specification
openapi: 3.1.0
info:
title: Starbucks Loyalty Menu API
description: Starbucks provides partner APIs for ordering, loyalty program integration, store locations, and menu data. These APIs enable authorized partners to integrate Starbucks ordering, rewards, and store discovery into their applications and services.
version: '1.0'
contact:
name: Starbucks Developer Support
url: https://developer.starbucks.com/
termsOfService: https://www.starbucks.com/about-us/company-information/online-policies/terms-of-use
servers:
- url: https://api.starbucks.com
description: Production
security:
- bearerAuth: []
tags:
- name: Menu
description: Menu categories and items operations
paths:
/v1/menu/categories:
get:
operationId: listMenuCategories
summary: List Menu Categories
description: Returns all available menu categories such as Hot Coffees, Cold Coffees, Teas, Refreshers, Food, and Merchandise.
tags:
- Menu
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
categories:
type: array
items:
$ref: '#/components/schemas/MenuCategory'
'401':
description: Unauthorized
'429':
description: Too Many Requests
/v1/menu/categories/{categoryId}/items:
get:
operationId: listMenuItems
summary: List Menu Items
description: Returns all menu items within a specific category, including product descriptions, pricing, sizes, and customization options.
tags:
- Menu
parameters:
- name: categoryId
in: path
required: true
description: The unique identifier of the menu category
schema:
type: string
- name: limit
in: query
required: false
description: Maximum number of items to return
schema:
type: integer
default: 50
- name: offset
in: query
required: false
description: Pagination offset
schema:
type: integer
default: 0
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/MenuItem'
total:
type: integer
limit:
type: integer
offset:
type: integer
'401':
description: Unauthorized
'404':
description: Category Not Found
'429':
description: Too Many Requests
/v1/menu/items/{itemId}:
get:
operationId: getMenuItem
summary: Get Menu Item
description: Returns detailed information for a specific menu item including full nutritional data, allergen information, customization options, and available sizes.
tags:
- Menu
parameters:
- name: itemId
in: path
required: true
description: The unique identifier of the menu item
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MenuItemDetail'
'401':
description: Unauthorized
'404':
description: Item Not Found
'429':
description: Too Many Requests
components:
schemas:
MenuCategory:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
imageUrl:
type: string
itemCount:
type: integer
MenuItemDetail:
allOf:
- $ref: '#/components/schemas/MenuItem'
- type: object
properties:
sizes:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
price:
type: number
customizations:
type: array
items:
type: object
properties:
type:
type: string
options:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
priceModifier:
type: number
calories:
type: integer
allergens:
type: array
items:
type: string
MenuItem:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
price:
type: number
format: float
imageUrl:
type: string
categoryId:
type: string
available:
type: boolean
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
externalDocs:
description: Starbucks Developer Portal
url: https://developer.starbucks.com/