---
title: "Read the authenticated shopping list"
method: GET
path: "/api/v1/shopping-list"
tags: ["Shopping List"]
---

# Read the authenticated shopping list

`GET /api/v1/shopping-list`

## Request

- Base URL: `https://spoonjoy.app`
- URL: `https://spoonjoy.app/api/v1/shopping-list`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__session`
  - OAuth 2 (authorization code, authorization URL `https://spoonjoy.app/oauth/authorize`, token URL `https://spoonjoy.app/oauth/token`, scopes: `shopping_list:read`)
  - OAuth 2 (authorization code, authorization URL `https://spoonjoy.app/oauth/authorize`, token URL `https://spoonjoy.app/oauth/token`, scopes: `kitchen:read`)

## Headers

- `X-Request-Id` string

## Response `200`

Success

- ShoppingListEnvelope
  - `ok` unknown, required
  - `requestId` string, required
  - `data` ShoppingListData, required
    - `shoppingList` ShoppingList, required
      - `id` string, required
      - `chef` ChefSummary, required
        - `id` string, required
        - `username` string, required
        - `photoUrl` string, uri, nullable
      - `items` ShoppingItem[], required
        - `id` string, required
        - `name` string, required
        - `quantity` number, nullable, required
        - `unit` string, nullable, required
        - `checked` boolean, required
        - `checkedAt` string, date-time, nullable, required
        - `deletedAt` string, date-time, nullable, required
        - `categoryKey` string, nullable, required
        - `iconKey` string, nullable, required
        - `sortIndex` integer, required
        - `updatedAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `nextCursor` string, required: Bootstrap cursor for /api/v1/shopping-list/sync. Store and pass back opaquely even when it looks like an ISO timestamp.

## Other responses

- `400`: Errors: validation_error
- `401`: Errors: authentication_required, invalid_token
- `403`: Errors: insufficient_scope
- `405`: Errors: method_not_allowed
- `429`: Errors: rate_limited
- `500`: Errors: internal_error
- `503`: Errors: temporarily_unavailable

---

[API](https://skmtc.dev/spoonjoy/apis/spoonjoy-api.md) · [All operations](https://skmtc.dev/spoonjoy/apis/spoonjoy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spoonjoy/apis/spoonjoy-api/revisions/b96eb5d4697d?raw)
