Spree Commerce Wishlists API

The Wishlists API from Spree Commerce — 9 operation(s) for wishlists.

Operations 18

GET /api/v2/platform/wishlists Return a list of Wishlists #
POST /api/v2/platform/wishlists Create a Wishlist #
GET /api/v2/platform/wishlists/{id} Return a Wishlist #
PATCH /api/v2/platform/wishlists/{id} Update a Wishlist #
DELETE /api/v2/platform/wishlists/{id} Delete a Wishlist #
GET /api/v3/store/wishlists List wishlists
POST /api/v3/store/wishlists Create a wishlist
GET /api/v3/store/wishlists/{id} Get a wishlist
PATCH /api/v3/store/wishlists/{id} Update a wishlist
DELETE /api/v3/store/wishlists/{id} Delete a wishlist
POST /api/v3/store/wishlists/{wishlist_id}/items Add item to wishlist
DELETE /api/v3/store/wishlists/{wishlist_id}/items/{id} Remove item from wishlist
GET /api/v2/storefront/wishlists List all Wishlists #
POST /api/v2/storefront/wishlists Create a Wishlist #
GET /api/v2/storefront/wishlists/{token} Retrieve a Wishlist #
PATCH /api/v2/storefront/wishlists/{token} Update a Wishlist #
DELETE /api/v2/storefront/wishlists/{token} Delete a Wishlist #
GET /api/v2/storefront/wishlists/default Retrieve the default Wishlist #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spree-commerce-wishlists-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spree-commerce-wishlists-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Spree Commerce Wishlists API
  version: '1.0'
  description: 'Operations tagged Wishlists across 3 of this provider''s published API definitions: spree-commerce-platform-api-openapi.yml, spree-commerce-store-api-openapi.yml, spree-commerce-storefront-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: http://{defaultHost}
  variables:
    defaultHost:
      default: localhost:3000
- url: https://demo.spreecommerce.org
  description: demo
- url: http://localhost:3000
  description: localhost
tags:
- name: Wishlists
paths:
  /api/v2/platform/wishlists:
    get:
      summary: Return a list of Wishlists
      tags:
      - Wishlists
      security:
      - bearer_auth: []
      description: Returns a list of Wishlists
      operationId: wishlists-list
      parameters:
      - name: page
        in: query
        example: 1
        schema:
          type: integer
      - name: per_page
        in: query
        example: 50
        schema:
          type: integer
      - name: include
        in: query
        description: 'Select which associated resources you would like to fetch, see: <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
        example: wished_items
        schema:
          type: string
      - name: filter[name_cont]
        in: query
        description: ''
        example: Birthday
        schema:
          type: string
      responses:
        '200':
          description: Records returned
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    data:
                    - id: '22'
                      type: wishlist
                      attributes:
                        name: Black Friday
                        is_private: true
                        is_default: false
                        created_at: '2022-11-08T19:36:06.256Z'
                        updated_at: '2022-11-08T19:36:06.256Z'
                        token: PunEhftsfcoHddCoVyqQLTYq
                        variant_included: false
                      relationships:
                        wished_items:
                          data:
                          - id: '17'
                            type: wished_item
                          - id: '18'
                            type: wished_item
                    - id: '23'
                      type: wishlist
                      attributes:
                        name: Birthday
                        is_private: true
                        is_default: false
                        created_at: '2022-11-08T19:36:06.257Z'
                        updated_at: '2022-11-08T19:36:06.257Z'
                        token: FYKHQXSsnSwAVEaci7RgbPXq
                        variant_included: false
                      relationships:
                        wished_items:
                          data:
                          - id: '19'
                            type: wished_item
                          - id: '20'
                            type: wished_item
                    meta:
                      count: 2
                      total_count: 2
                      total_pages: 1
                    links:
                      self: http://www.example.com/api/v2/platform/wishlists?page=1&per_page=&include=&filter[name_cont]=
                      next: http://www.example.com/api/v2/platform/wishlists?filter%5Bname_cont%5D=&include=&page=1&per_page=
                      prev: http://www.example.com/api/v2/platform/wishlists?filter%5Bname_cont%5D=&include=&page=1&per_page=
                      last: http://www.example.com/api/v2/platform/wishlists?filter%5Bname_cont%5D=&include=&page=1&per_page=
                      first: http://www.example.com/api/v2/platform/wishlists?filter%5Bname_cont%5D=&include=&page=1&per_page=
              schema:
                $ref: '#/components/schemas/resources_list'
        '401':
          description: Authentication Failed
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The access token is invalid
              schema:
                $ref: '#/components/schemas/error'
    post:
      summary: Create a Wishlist
      tags:
      - Wishlists
      security:
      - bearer_auth: []
      description: Creates a Wishlist
      operationId: create-wishlist
      parameters:
      - name: include
        in: query
        description: 'Select which associated resources you would like to fetch, see: <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
        example: wished_items
        schema:
          type: string
      responses:
        '201':
          description: Record created
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    data:
                      id: '26'
                      type: wishlist
                      attributes:
                        name: Wishlist_26
                        is_private: true
                        is_default: false
                        created_at: '2022-11-08T19:36:07.290Z'
                        updated_at: '2022-11-08T19:36:07.290Z'
                        token: w7zjAVs9QJd9MLdPXDQcxrqi
                        variant_included: false
                      relationships:
                        wished_items:
                          data: []
              schema:
                $ref: '#/components/schemas/resource'
        '422':
          description: Invalid request
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: Name can't be blank and User can't be blank
                    errors:
                      name:
                      - can't be blank
                      user:
                      - can't be blank
              schema:
                $ref: '#/components/schemas/validation_errors'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create_wishlist_params'
    servers:
    - url: http://{defaultHost}
      variables:
        defaultHost:
          default: localhost:3000
  /api/v2/platform/wishlists/{id}:
    get:
      summary: Return a Wishlist
      tags:
      - Wishlists
      security:
      - bearer_auth: []
      description: Returns a Wishlist
      operationId: show-wishlist
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: include
        in: query
        description: 'Select which associated resources you would like to fetch, see: <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
        example: wished_items
        schema:
          type: string
      responses:
        '200':
          description: Record found
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    data:
                      id: '27'
                      type: wishlist
                      attributes:
                        name: My Wishlist
                        is_private: true
                        is_default: false
                        created_at: '2022-11-08T19:36:07.570Z'
                        updated_at: '2022-11-08T19:36:07.570Z'
                        token: mTKMs2ZP2PQc1Gu64XMvPrtk
                        variant_included: false
                      relationships:
                        wished_items:
                          data: []
              schema:
                $ref: '#/components/schemas/resource'
        '404':
          description: Record not found
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The resource you were looking for could not be found.
              schema:
                $ref: '#/components/schemas/error'
        '401':
          description: Authentication Failed
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The access token is invalid
              schema:
                $ref: '#/components/schemas/error'
    patch:
      summary: Update a Wishlist
      tags:
      - Wishlists
      security:
      - bearer_auth: []
      description: Updates a Wishlist
      operationId: update-wishlist
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: include
        in: query
        description: 'Select which associated resources you would like to fetch, see: <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
        example: wished_items
        schema:
          type: string
      responses:
        '200':
          description: Record updated
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    data:
                      id: '29'
                      type: wishlist
                      attributes:
                        name: My Super Wishlist
                        is_private: true
                        is_default: false
                        created_at: '2022-11-08T19:36:08.103Z'
                        updated_at: '2022-11-08T19:36:08.334Z'
                        token: W4TY5oxqYi2kvpYs26XUPH3p
                        variant_included: false
                      relationships:
                        wished_items:
                          data: []
              schema:
                $ref: '#/components/schemas/resource'
        '422':
          description: Invalid request
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: Name can't be blank
                    errors:
                      name:
                      - can't be blank
              schema:
                $ref: '#/components/schemas/validation_errors'
        '404':
          description: Record not found
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The resource you were looking for could not be found.
              schema:
                $ref: '#/components/schemas/error'
        '401':
          description: Authentication Failed
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The access token is invalid
              schema:
                $ref: '#/components/schemas/error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update_wishlist_params'
    delete:
      summary: Delete a Wishlist
      tags:
      - Wishlists
      security:
      - bearer_auth: []
      description: Deletes a Wishlist
      operationId: delete-wishlist
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Record deleted
        '404':
          description: Record not found
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The resource you were looking for could not be found.
              schema:
                $ref: '#/components/schemas/error'
        '401':
          description: Authentication Failed
          content:
            application/vnd.api+json:
              examples:
                Example:
                  value:
                    error: The access token is invalid
              schema:
                $ref: '#/components/schemas/error'
    servers:
    - url: http://{defaultHost}
      variables:
        defaultHost:
          default: localhost:3000
  /api/v3/store/wishlists:
    get:
      summary: List wishlists
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      description: Returns all wishlists for the authenticated customer
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nconst wishlists = await client.wishlists.list({}, {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
      - name: limit
        in: query
        required: false
        schema:
          type: integer
      - name: fields
        in: query
        required: false
        description: Comma-separated list of fields to include (e.g., name,slug,price). id is always included.
        schema:
          type: string
      responses:
        '200':
          description: wishlists found
          content:
            application/json:
              example:
                data:
                - id: wl_UkLWZg9DAJ
                  name: My Wishlist
                  token: czkimqa2wGQpziZPiHu4TETD
                  is_default: false
                  is_private: true
                meta:
                  page: 1
                  limit: 25
                  count: 1
                  pages: 1
                  from: 1
                  to: 1
                  in: 1
                  previous: null
                  next: null
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Wishlist'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                error:
                  code: authentication_required
                  message: Authentication required
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      summary: Create a wishlist
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      description: Creates a new wishlist for the customer
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nconst wishlist = await client.wishlists.create({\n  name: 'Birthday Ideas',\n  is_private: true,\n}, {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: wishlist created
          content:
            application/json:
              example:
                id: wl_gbHJdmfrXB
                name: Birthday Ideas
                token: HkhGZqtmkmgvuTiENz7zMHwA
                is_default: false
                is_private: true
              schema:
                $ref: '#/components/schemas/Wishlist'
        '422':
          description: validation error
          content:
            application/json:
              example:
                error:
                  code: validation_error
                  message: Name can't be blank
                  details:
                    name:
                    - can't be blank
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: Birthday Ideas
                is_private:
                  type: boolean
                  example: true
                is_default:
                  type: boolean
                  example: false
              required:
              - name
    servers:
    - url: http://{defaultHost}
      variables:
        defaultHost:
          default: localhost:3000
  /api/v3/store/wishlists/{id}:
    get:
      summary: Get a wishlist
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nconst wishlist = await client.wishlists.get('wl_abc123', {\n  expand: ['wished_items'],\n}, {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        required: false
        description: Expand wished_items
        schema:
          type: string
      - name: fields
        in: query
        required: false
        description: Comma-separated list of fields to include (e.g., name,slug,price). id is always included.
        schema:
          type: string
      responses:
        '200':
          description: wishlist found
          content:
            application/json:
              example:
                id: wl_UkLWZg9DAJ
                name: My Wishlist
                token: URczbyJbeCgRS1a82JhitHvQ
                is_default: false
                is_private: true
              schema:
                $ref: '#/components/schemas/Wishlist'
        '404':
          description: wishlist not found
          content:
            application/json:
              example:
                error:
                  code: record_not_found
                  message: Wishlist not found
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      summary: Update a wishlist
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nconst wishlist = await client.wishlists.update('wl_abc123', {\n  name: 'Updated Name',\n}, {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: wishlist updated
          content:
            application/json:
              example:
                id: wl_UkLWZg9DAJ
                name: Updated Name
                token: RbsVopS8AJBteR6s51rRT9tN
                is_default: false
                is_private: true
              schema:
                $ref: '#/components/schemas/Wishlist'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: Updated Name
                is_private:
                  type: boolean
                  example: true
                is_default:
                  type: boolean
                  example: false
    delete:
      summary: Delete a wishlist
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nawait client.wishlists.delete('wl_abc123', {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: wishlist deleted
    servers:
    - url: http://{defaultHost}
      variables:
        defaultHost:
          default: localhost:3000
  /api/v3/store/wishlists/{wishlist_id}/items:
    post:
      summary: Add item to wishlist
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      description: Adds a variant to the wishlist
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nconst item = await client.wishlists.items.create('wl_abc123', {\n  variant_id: 'variant_abc123',\n  quantity: 1,\n}, {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: wishlist_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: item added
          content:
            application/json:
              example:
                id: wi_gbHJdmfrXB
                variant_id: variant_gbHJdmfrXB
                wishlist_id: wl_UkLWZg9DAJ
                quantity: 1
                variant:
                  id: variant_gbHJdmfrXB
                  product_id: prod_gbHJdmfrXB
                  sku: SKU-202
                  options_text: ''
                  track_inventory: true
                  media_count: 0
                  thumbnail_url: null
                  purchasable: true
                  in_stock: false
                  backorderable: true
                  weight: 0.0
                  height: null
                  width: null
                  depth: null
                  price:
                    id: price_gbHJdmfrXB
                    amount: '19.99'
                    amount_in_cents: 1999
                    compare_at_amount: null
                    compare_at_amount_in_cents: null
                    currency: USD
                    display_amount: $19.99
                    display_compare_at_amount: null
                    price_list_id: null
                  original_price: null
                  option_values: []
              schema:
                $ref: '#/components/schemas/WishlistItem'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                variant_id:
                  type: string
                  example: variant_abc123
                quantity:
                  type: integer
                  example: 1
              required:
              - variant_id
    servers:
    - url: http://{defaultHost}
      variables:
        defaultHost:
          default: localhost:3000
  /api/v3/store/wishlists/{wishlist_id}/items/{id}:
    delete:
      summary: Remove item from wishlist
      tags:
      - Wishlists
      security:
      - api_key: []
        bearer_auth: []
      x-codeSamples:
      - lang: javascript
        label: Spree SDK
        source: "import { createClient } from '@spree/sdk'\n\nconst client = createClient({\n  baseUrl: 'https://your-store.com',\n  publishableKey: '<api-key>',\n})\n\nawait client.wishlists.items.delete('wl_abc123', 'wi_abc123', {\n  token: '<token>',\n})"
      parameters:
      - name: x-spree-api-key
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: wishlist_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: item removed
        '404':
          description: item not found
          content:
            application/json:
              example:
                error:
                  code: record_not_found
                  message: Wished item not found
    servers:
    - url: http://{defaultHost}
      variables:
        defaultHost:
          default: localhost:3000
  /api/v2/storefront/wishlists:
    get:
      description: Returns all wishlists available to the current user, in the current store.
      summary: List all Wishlists
      tags:
      - Wishlists
      operationId: list-wishlists-for-current-user
      parameters:
      - $ref: '#/components/parameters/WishlistIncludeParam'
      - $ref: '#/components/parameters/SparseFieldsWishlist'
      - $ref: '#/components/parameters/PerPageParam'
      - $ref: '#/components/parameters/WishlistIsVariantIncludedParam'
      responses:
        '200':
          $ref: '#/components/responses/WishlistList'
        '403':
          $ref: '#/components/responses/403Forbidden'
      security:
      - bearerAuth: []
    post:
      description: Creates a new wishlist for the current user in the current store.
      summary: Create a Wishlist
      tags:
      - Wishlists
      operationId: create-wishlist
      responses:
        '200':
          $ref: '#/components/responses/Wishlist'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '422':
          $ref: '#/components/responses/422UnprocessableEntity'
      security:
      - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The Wishlist name.
                is_private:
                  type: boolean
                  description: Set the Wishlist to public or private. Defaults to true (private).
                is_default:
                  type: boolean
                  description: Whether the wishlist is set to the users default wishlist for the current store. Defaults to false.
              required:
              - name
            examples:
              Create wishlist:
                value:
                  name: My Wishlist
                  is_private: false
                  is_default: true
      parameters:
      - $ref: '#/components/parameters/SparseFieldsWishlist'
    servers:
    - url: https://demo.spreecommerce.org
      description: demo
    - url: http://localhost:3000
      description: localhost
  /api/v2/storefront/wishlists/{token}:
    get:
      description: 'Retrieves a wishlist using the wishlist token.


        If the wishlist is publicly viewable, the endpoint will return the requested wishlist regardless of the user. If the wishlist is private, only the wishlist owner can access the wishlist.'
      summary: Retrieve a Wishlist
      tags:
      - Wishlists
      operationId: get-wishlist-details
      parameters:
      - $ref: '#/components/parameters/Token'
      - $ref: '#/components/parameters/WishlistIncludeParam'
      - $ref: '#/components/parameters/SparseFieldsWishlist'
      - $ref: '#/components/parameters/WishlistIsVariantIncludedParam'
      responses:
        '200':
          $ref: '#/components/responses/Wishlist'
        '403':
          $ref: '#/components/responses/403Forbidden'
    patch:
      description: Updates the specific Wishlist by setting the values passed in the request body. Any parameters not provided will be left unchanged.
      summary: Update a Wishlist
      tags:
      - Wishlists
      operationId: update-wishlist
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                wishlist:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Change the wishlist name.
                    is_private:
                      type: boolean
                      description: Set the wishlist to public or private.
                    is_default:
                      type: boolean
                      description: Make this wishlist the default wishlist.
            examples:
              Update Name:
                value:
                  wishlist:
                    name: Birthday Ideas
              Set to Private:
                value:
                  wishlist:
                    is_private: true
              Make Default:
                value:
                  wishlist:
                    is_default: true
        description: ''
      parameters:
      - $ref: '#/components/parameters/Token'
      - $ref: '#/components/parameters/SparseFieldsWishlist'
      responses:
        '200':
          $ref: '#/components/responses/Wishlist'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '422':
          $ref: '#/components/responses/422UnprocessableEntity'
      security:
      - bearerAuth: []
    delete:
      description: This operation deletes the wishlist identified in the URI `token`.
      summary: Delete a Wishlist
      tags:
      - Wishlists
      operationId: delete-wishlist
      parameters:
      - $ref: '#/components/parameters/Token'
      responses:
        '204':
          description: 204 Success - No Content
        '403':
          $ref: '#/components/responses/403Forbidden'
      security:
      - bearerAuth: []
    servers:
    - url: https://demo.spreecommerce.org
      description: demo
    - url: http://localhost:3000
      description: localhost
  /api/v2/storefront/wishlists/default:
    get:
      description: Returns the default wishlist for the current user, in the current store. If the user does not have a default wishlist in the current store one will be created.
      summary: Retrieve the default Wishlist
      tags:
      - Wishlists
      operationId: get-default-wishlist
      parameters:
      - $ref: '#/components/parameters/WishlistIncludeParam'
      - $ref: '#/components/parameters/SparseFieldsWishlist'
      - $ref: '#/components/parameters/WishlistIsVariantIncludedParam'
      responses:
        '200':
          $ref: '#/components/responses/Wishlist'
        '403':
          $ref: '#/components/responses/403Forbidden'
      security:
      - bearerAuth: []
    servers:
    - url: https://demo.spreecommerce.org
      description: demo
    - url: http://localhost:3000
      description: localhost
components:
  schemas:
    update_wishlist_params:
      type: object
      properties:
        wishlist:
          type: object
          properties:
            name:
              type: string
            user_id:
              type: string
            is_default:
              type: boolean
            is_private:
              type: boolean
      required:
      - wishlist
      x-internal: false
    create_wishlist_params:
      type: object
      properties:
        wishlist:
          type: object
          required:
          - name
          - user_id
          properties:
            name

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spree-commerce/refs/heads/main/openapi/spree-commerce-wishlists-api-openapi.yml