Starbucks Orders API

Ordering and cart management operations

OpenAPI Specification

starbucks-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Starbucks Loyalty Orders 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: Orders
  description: Ordering and cart management operations
paths:
  /v1/orders:
    post:
      operationId: createOrder
      summary: Create Order
      description: Creates a new Starbucks order for mobile ordering or partner-initiated ordering. Supports customized beverages, food items, and merchandise.
      tags:
      - Orders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '201':
          description: Order Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
        '429':
          description: Too Many Requests
  /v1/orders/{orderId}:
    get:
      operationId: getOrder
      summary: Get Order
      description: Returns the current status and details of a specific order.
      tags:
      - Orders
      parameters:
      - name: orderId
        in: path
        required: true
        description: The unique identifier of the order
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          description: Unauthorized
        '404':
          description: Order Not Found
        '429':
          description: Too Many Requests
components:
  schemas:
    Order:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - pending
          - accepted
          - preparing
          - ready
          - completed
          - cancelled
        storeId:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/MenuItem'
        subtotal:
          type: number
          format: float
        tax:
          type: number
          format: float
        total:
          type: number
          format: float
        starsEarned:
          type: integer
        createdAt:
          type: string
          format: date-time
        estimatedReadyAt:
          type: string
          format: date-time
    CreateOrderRequest:
      type: object
      required:
      - storeId
      - items
      properties:
        storeId:
          type: string
        items:
          type: array
          items:
            type: object
            properties:
              menuItemId:
                type: string
              quantity:
                type: integer
              sizeId:
                type: string
              customizations:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                    optionId:
                      type: string
        loyaltyAccountId:
          type: string
        redemptionStars:
          type: integer
    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/