openapi: 3.0.3
info:
  title: 'API Documentation - Zapify Wishlist Lab'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://wishlist-lab.zapifycommerce.com'
paths:
  /api/v1/customer/wishlist/lists:
    get:
      summary: 'Retrieve List of wishlists'
      operationId: retrieveListOfWishlists
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 200
                  error: false
                  data:
                    wishlists:
                      -
                        id: 1
                        uuid: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                        user_id: 1
                        customer_id: 1
                        customer: 10000000000
                        name: "Jon's wishlist"
                        count: 4
                        is_default: true
                        is_public: true
                        created_at: '2024-12-31T21:59:19.000000Z'
                        updated_at: '2025-01-06T20:01:02.000000Z'
                      -
                        id: 2
                        uuid: 027b401c-f22d-4404-87f7-91a0d6b8268c
                        user_id: 1
                        customer_id: 1
                        customer: 10000000000
                        name: 'Test List'
                        count: 3
                        is_default: false
                        is_public: true
                        created_at: '2024-12-31T21:59:29.000000Z'
                        updated_at: '2025-01-05T20:25:25.000000Z'
                  message: 'Wishlist list fetched successfully.'
                properties:
                  status:
                    type: integer
                    example: 200
                  error:
                    type: boolean
                    example: false
                  data:
                    type: object
                    properties:
                      wishlists:
                        type: array
                        example:
                          -
                            id: 1
                            uuid: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                            user_id: 1
                            customer_id: 1
                            customer: 10000000000
                            name: "Jon's wishlist"
                            count: 4
                            is_default: true
                            is_public: true
                            created_at: '2024-12-31T21:59:19.000000Z'
                            updated_at: '2025-01-06T20:01:02.000000Z'
                          -
                            id: 2
                            uuid: 027b401c-f22d-4404-87f7-91a0d6b8268c
                            user_id: 1
                            customer_id: 1
                            customer: 10000000000
                            name: 'Test List'
                            count: 3
                            is_default: false
                            is_public: true
                            created_at: '2024-12-31T21:59:29.000000Z'
                            updated_at: '2025-01-05T20:25:25.000000Z'
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            uuid:
                              type: string
                              example: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                            user_id:
                              type: integer
                              example: 1
                            customer_id:
                              type: integer
                              example: 1
                            customer:
                              type: integer
                              example: 10000000000
                            name:
                              type: string
                              example: "Jon's wishlist"
                            count:
                              type: integer
                              example: 4
                            is_default:
                              type: boolean
                              example: true
                            is_public:
                              type: boolean
                              example: true
                            created_at:
                              type: string
                              example: '2024-12-31T21:59:19.000000Z'
                            updated_at:
                              type: string
                              example: '2025-01-06T20:01:02.000000Z'
                  message:
                    type: string
                    example: 'Wishlist list fetched successfully.'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Customer Wishlist'
    parameters:
      -
        in: path
        name: customer_id
        description: 'The Shopify customer id of the customer.'
        example: 99999999
        required: true
        schema:
          type: integer
  /api/v1/customer/wishlist/create:
    post:
      summary: 'Create a new wishlist'
      operationId: createANewWishlist
      description: ''
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 201
                  error: false
                  data:
                    id: 1
                    uuid: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                    user_id: 1
                    customer_id: 1
                    customer: 10000000000
                    name: "Jon's wishlist"
                    count: 0
                    is_default: false
                    is_public: true
                    created_at: '2024-12-31T21:59:19.000000Z'
                    updated_at: '2025-01-06T20:01:02.000000Z'
                  message: 'Wishlist was created successfully!'
                properties:
                  status:
                    type: integer
                    example: 201
                  error:
                    type: boolean
                    example: false
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      uuid:
                        type: string
                        example: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                      user_id:
                        type: integer
                        example: 1
                      customer_id:
                        type: integer
                        example: 1
                      customer:
                        type: integer
                        example: 10000000000
                      name:
                        type: string
                        example: "Jon's wishlist"
                      count:
                        type: integer
                        example: 0
                      is_default:
                        type: boolean
                        example: false
                      is_public:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2024-12-31T21:59:19.000000Z'
                      updated_at:
                        type: string
                        example: '2025-01-06T20:01:02.000000Z'
                  message:
                    type: string
                    example: 'Wishlist was created successfully!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Customer Wishlist'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                customer_id:
                  type: integer
                  description: 'The Shopify customer id of the customer.'
                  example: 99999999
                  nullable: false
                list_name:
                  type: string
                  description: 'The name of the wishlist.'
                  example: 'My Wishlist'
                  nullable: false
                is_public:
                  type: boolean
                  description: 'Whether the wishlist is public or private, Defaults to false.'
                  example: true
                  nullable: false
              required:
                - customer_id
                - list_name
  '/api/v1/customer/wishlist/{id}/update':
    put:
      summary: 'Update the existing wishlist'
      operationId: updateTheExistingWishlist
      description: ''
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 201
                  error: false
                  data:
                    id: 1
                    uuid: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                    user_id: 1
                    customer_id: 1
                    customer: 10000000000
                    name: "Jon's wishlist"
                    count: 0
                    is_default: false
                    is_public: true
                    created_at: '2024-12-31T21:59:19.000000Z'
                    updated_at: '2025-01-06T20:01:02.000000Z'
                  message: 'Wishlist was created successfully!'
                properties:
                  status:
                    type: integer
                    example: 201
                  error:
                    type: boolean
                    example: false
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      uuid:
                        type: string
                        example: 6b7b2285-6631-4e36-aa4b-7fdbbe95b8cc
                      user_id:
                        type: integer
                        example: 1
                      customer_id:
                        type: integer
                        example: 1
                      customer:
                        type: integer
                        example: 10000000000
                      name:
                        type: string
                        example: "Jon's wishlist"
                      count:
                        type: integer
                        example: 0
                      is_default:
                        type: boolean
                        example: false
                      is_public:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        example: '2024-12-31T21:59:19.000000Z'
                      updated_at:
                        type: string
                        example: '2025-01-06T20:01:02.000000Z'
                  message:
                    type: string
                    example: 'Wishlist was created successfully!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Customer Wishlist'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                list_name:
                  type: string
                  description: 'The name of the wishlist.'
                  example: 'My Wishlist'
                  nullable: false
                is_public:
                  type: boolean
                  description: 'Whether the wishlist is public or private.'
                  example: true
                  nullable: false
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the wishlist.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/customer/wishlist/{id}/delete':
    delete:
      summary: 'Delete the existing wishlist'
      operationId: deleteTheExistingWishlist
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 200,\n    \"error\": false,\n    \"message\": \"Wishlist was deleted successfully!\"\n    \"data\": 333\n}"
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Customer Wishlist'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the wishlist.'
        example: 333
        required: true
        schema:
          type: integer
  /api/v1/customer/wishlist/items/status:
    post:
      summary: 'Retrieve List of wishlist items'
      operationId: retrieveListOfWishlistItems
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  status: 201
                  data:
                    -
                      _id: 5757748
                      product_id: 8460971049249
                      variant_id: 46035853771041
                      status: true
                      count: 2
                    -
                      _id: 76878677
                      product_id: 8460971049249
                      variant_id: 46035853771041
                      status: true
                      count: 2
                  message: 'Wishlist products fetch successfully!'
                properties:
                  error:
                    type: boolean
                    example: false
                  status:
                    type: integer
                    example: 201
                  data:
                    type: array
                    example:
                      -
                        _id: 5757748
                        product_id: 8460971049249
                        variant_id: 46035853771041
                        status: true
                        count: 2
                      -
                        _id: 76878677
                        product_id: 8460971049249
                        variant_id: 46035853771041
                        status: true
                        count: 2
                    items:
                      type: object
                      properties:
                        _id:
                          type: integer
                          example: 5757748
                        product_id:
                          type: integer
                          example: 8460971049249
                        variant_id:
                          type: integer
                          example: 46035853771041
                        status:
                          type: boolean
                          example: true
                        count:
                          type: integer
                          example: 2
                  message:
                    type: string
                    example: 'Wishlist products fetch successfully!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
        422:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 422,\n    \"error\": true,\n    \"message\": \"OOPS! items size exceeds limit, max items is 100 to per request\"\n    \"data\": null\n}"
      tags:
        - 'Customer Wishlist Items'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                products:
                  type: array
                  description: 'The Shopify product items, limit is 100 items per request'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      product_id:
                        type: integer
                        description: 'The shopify product id.'
                        example: 8460971049249
                        nullable: false
                      variant_id:
                        type: integer
                        description: 'The shopify variant id.'
                        example: 46035853771041
                        nullable: false
                    required:
                      - product_id
                      - variant_id
                customer_id:
                  type: integer
                  description: 'The Shopify customer id of the customer.'
                  example: 7195877802273
                  nullable: false
                unique_device_id:
                  type: string
                  description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
                  example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
                  nullable: false
              required:
                - products
                - customer_id
                - unique_device_id
  /api/v1/customer/wishlist/items/add:
    post:
      summary: 'Add new item to customer wishlist'
      operationId: addNewItemToCustomerWishlist
      description: 'Add a product to customer wishlist item resource'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  status: 201
                  data:
                    _id: 5757748
                    wishlist_id: 233
                    product_id: 8460971049249
                    variant_id: 46035853771041
                    status: true
                    count: 2
                    item:
                      product:
                        id: 434343
                        title: 'The Art of Living'
                        handle: the-art-of-living
                        product_id: 8460971049249
                      variant:
                        id: 34333445
                        variant_id: 46035853771041
                        title: 'Small / White'
                        sku: SS-123
                        price: '10.00'
                        inventory: 10
                        in_stock: true
                  message: 'Wishlist item was successfully created!'
                properties:
                  error:
                    type: boolean
                    example: false
                  status:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      _id:
                        type: integer
                        example: 5757748
                      wishlist_id:
                        type: integer
                        example: 233
                      product_id:
                        type: integer
                        example: 8460971049249
                      variant_id:
                        type: integer
                        example: 46035853771041
                      status:
                        type: boolean
                        example: true
                      count:
                        type: integer
                        example: 2
                      item:
                        type: object
                        properties:
                          product:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 434343
                              title:
                                type: string
                                example: 'The Art of Living'
                              handle:
                                type: string
                                example: the-art-of-living
                              product_id:
                                type: integer
                                example: 8460971049249
                          variant:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 34333445
                              variant_id:
                                type: integer
                                example: 46035853771041
                              title:
                                type: string
                                example: 'Small / White'
                              sku:
                                type: string
                                example: SS-123
                              price:
                                type: string
                                example: '10.00'
                              inventory:
                                type: integer
                                example: 10
                              in_stock:
                                type: boolean
                                example: true
                  message:
                    type: string
                    example: 'Wishlist item was successfully created!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
        403:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 403,\n    \"error\": true,\n    \"message\": \"Maximum wishlist item limit exceeded!\"\n    \"data\": null\n}"
      tags:
        - 'Customer Wishlist Items'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                customer_id:
                  type: integer
                  description: 'The Shopify customer id of the customer.'
                  example: 7195877802273
                  nullable: false
                wishlist_id:
                  type: integer
                  description: 'The wishlist id.'
                  example: 233
                  nullable: false
                product_id:
                  type: integer
                  description: 'The shopify product id.'
                  example: 8460971049249
                  nullable: false
                variant_id:
                  type: integer
                  description: 'The shopify variant id.'
                  example: 46035853771041
                  nullable: false
                unique_device_id:
                  type: string
                  description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
                  example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
                  nullable: false
              required:
                - customer_id
                - wishlist_id
                - product_id
                - variant_id
                - unique_device_id
  /api/v1/customer/wishlist/items/count:
    get:
      summary: 'Retrieve count customer wishlist items'
      operationId: retrieveCountCustomerWishlistItems
      description: ''
      parameters:
        -
          in: query
          name: customer_id
          description: 'The Shopify customer id of the customer.'
          example: 7195877802273
          required: true
          schema:
            type: integer
            description: 'The Shopify customer id of the customer.'
            example: 7195877802273
            nullable: false
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 200,\n    \"error\": false,\n    \"data\": {\n         \"count\": 1,\n    },\n    \"message\": \"Wishlist items total fetched successfully.\"\n}"
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Customer Wishlist Items'
  '/api/v1/customer/wishlist/items/{id}/remove':
    delete:
      summary: 'Remove item from customer wishlist'
      operationId: removeItemFromCustomerWishlist
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 200,\n    \"error\": false,\n    \"data\": {\n         \"_id\":333,\n         \"count\": 4,\n    },\n    \"message\": \"Wishlist item deleted successfully\"\n}"
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Customer Wishlist Items'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the wishlist item.'
        example: 333
        required: true
        schema:
          type: integer
  /api/v1/guest/wishlist/items:
    get:
      summary: 'Retrieve List of guest wishlist items'
      operationId: retrieveListOfGuestWishlistItems
      description: ''
      parameters:
        -
          in: query
          name: unique_device_id
          description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
          example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
          required: true
          schema:
            type: string
            description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
            example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
            nullable: false
        -
          in: query
          name: per_page
          description: 'The number of items per page, default is 10.'
          example: 10
          required: false
          schema:
            type: integer
            description: 'The number of items per page, default is 10.'
            example: 10
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 200
                  error: false
                  message: 'Wishlist Items retrieved successfully.'
                  data:
                    items:
                      -
                        id: 13
                        product_id: 7
                        variant_id: 9
                        product:
                          id: 7
                          shopify_product_id: 8460971376929
                          title: 'Abito Adele'
                          handle: abito-adele-2
                          vendor: 'Mia Rebel Moda'
                          image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/d78acba9b161.jpg?v=1691051895'
                          count: 1
                        variant:
                          id: 9
                          product_id: 7
                          shopify_variant_id: 46035854098721
                          title: 'Verde acqua / Cotone elastico / S'
                          price: '19.99'
                          sku: '0090'
                          inventory: 10
                          in_stock: true
                      -
                        id: 14
                        product_id: 8
                        variant_id: 13
                        product:
                          id: 8
                          shopify_product_id: 8460970852641
                          title: 'Abito Barbara'
                          handle: abito-barbara
                          vendor: 'Mia Rebel Moda'
                          image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/795326.jpg?v=1691051874'
                          count: 2
                        variant:
                          id: 13
                          product_id: 8
                          shopify_variant_id: 46035853541665
                          title: 'Lilla / S'
                          price: '12.99'
                          sku: '0124'
                          inventory: 1
                          in_stock: true
                    meta:
                      current_page: 1
                      total_pages: 1
                      total_items: 2
                      per_page: 2
                properties:
                  status:
                    type: integer
                    example: 200
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'Wishlist Items retrieved successfully.'
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        example:
                          -
                            id: 13
                            product_id: 7
                            variant_id: 9
                            product:
                              id: 7
                              shopify_product_id: 8460971376929
                              title: 'Abito Adele'
                              handle: abito-adele-2
                              vendor: 'Mia Rebel Moda'
                              image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/d78acba9b161.jpg?v=1691051895'
                              count: 1
                            variant:
                              id: 9
                              product_id: 7
                              shopify_variant_id: 46035854098721
                              title: 'Verde acqua / Cotone elastico / S'
                              price: '19.99'
                              sku: '0090'
                              inventory: 10
                              in_stock: true
                          -
                            id: 14
                            product_id: 8
                            variant_id: 13
                            product:
                              id: 8
                              shopify_product_id: 8460970852641
                              title: 'Abito Barbara'
                              handle: abito-barbara
                              vendor: 'Mia Rebel Moda'
                              image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/795326.jpg?v=1691051874'
                              count: 2
                            variant:
                              id: 13
                              product_id: 8
                              shopify_variant_id: 46035853541665
                              title: 'Lilla / S'
                              price: '12.99'
                              sku: '0124'
                              inventory: 1
                              in_stock: true
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 13
                            product_id:
                              type: integer
                              example: 7
                            variant_id:
                              type: integer
                              example: 9
                            product:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 7
                                shopify_product_id:
                                  type: integer
                                  example: 8460971376929
                                title:
                                  type: string
                                  example: 'Abito Adele'
                                handle:
                                  type: string
                                  example: abito-adele-2
                                vendor:
                                  type: string
                                  example: 'Mia Rebel Moda'
                                image:
                                  type: string
                                  example: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/d78acba9b161.jpg?v=1691051895'
                                count:
                                  type: integer
                                  example: 1
                            variant:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 9
                                product_id:
                                  type: integer
                                  example: 7
                                shopify_variant_id:
                                  type: integer
                                  example: 46035854098721
                                title:
                                  type: string
                                  example: 'Verde acqua / Cotone elastico / S'
                                price:
                                  type: string
                                  example: '19.99'
                                sku:
                                  type: string
                                  example: '0090'
                                inventory:
                                  type: integer
                                  example: 10
                                in_stock:
                                  type: boolean
                                  example: true
                      meta:
                        type: object
                        properties:
                          current_page:
                            type: integer
                            example: 1
                          total_pages:
                            type: integer
                            example: 1
                          total_items:
                            type: integer
                            example: 2
                          per_page:
                            type: integer
                            example: 2
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Dashboard Wishlist Items'
  '/api/v1/customer/wishlist/{id}/items':
    get:
      summary: 'Retrieve List of customer wishlist items'
      operationId: retrieveListOfCustomerWishlistItems
      description: ''
      parameters:
        -
          in: query
          name: per_page
          description: 'The number of items per page, default is 10.'
          example: 10
          required: false
          schema:
            type: integer
            description: 'The number of items per page, default is 10.'
            example: 10
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 200
                  error: false
                  message: 'Wishlist Items retrieved successfully.'
                  data:
                    items:
                      -
                        id: 13
                        product_id: 7
                        variant_id: 9
                        product:
                          id: 7
                          shopify_product_id: 8460971376929
                          title: 'Abito Adele'
                          handle: abito-adele-2
                          vendor: 'Mia Rebel Moda'
                          image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/d78acba9b161.jpg?v=1691051895'
                          count: 1
                        variant:
                          id: 9
                          product_id: 7
                          shopify_variant_id: 46035854098721
                          title: 'Verde acqua / Cotone elastico / S'
                          price: '19.99'
                          sku: '0090'
                          inventory: 10
                          in_stock: true
                      -
                        id: 14
                        product_id: 8
                        variant_id: 13
                        product:
                          id: 8
                          shopify_product_id: 8460970852641
                          title: 'Abito Barbara'
                          handle: abito-barbara
                          vendor: 'Mia Rebel Moda'
                          image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/795326.jpg?v=1691051874'
                          count: 2
                        variant:
                          id: 13
                          product_id: 8
                          shopify_variant_id: 46035853541665
                          title: 'Lilla / S'
                          price: '12.99'
                          sku: '0124'
                          inventory: 1
                          in_stock: true
                    meta:
                      current_page: 1
                      total_pages: 1
                      total_items: 2
                      per_page: 2
                properties:
                  status:
                    type: integer
                    example: 200
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'Wishlist Items retrieved successfully.'
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        example:
                          -
                            id: 13
                            product_id: 7
                            variant_id: 9
                            product:
                              id: 7
                              shopify_product_id: 8460971376929
                              title: 'Abito Adele'
                              handle: abito-adele-2
                              vendor: 'Mia Rebel Moda'
                              image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/d78acba9b161.jpg?v=1691051895'
                              count: 1
                            variant:
                              id: 9
                              product_id: 7
                              shopify_variant_id: 46035854098721
                              title: 'Verde acqua / Cotone elastico / S'
                              price: '19.99'
                              sku: '0090'
                              inventory: 10
                              in_stock: true
                          -
                            id: 14
                            product_id: 8
                            variant_id: 13
                            product:
                              id: 8
                              shopify_product_id: 8460970852641
                              title: 'Abito Barbara'
                              handle: abito-barbara
                              vendor: 'Mia Rebel Moda'
                              image: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/795326.jpg?v=1691051874'
                              count: 2
                            variant:
                              id: 13
                              product_id: 8
                              shopify_variant_id: 46035853541665
                              title: 'Lilla / S'
                              price: '12.99'
                              sku: '0124'
                              inventory: 1
                              in_stock: true
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 13
                            product_id:
                              type: integer
                              example: 7
                            variant_id:
                              type: integer
                              example: 9
                            product:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 7
                                shopify_product_id:
                                  type: integer
                                  example: 8460971376929
                                title:
                                  type: string
                                  example: 'Abito Adele'
                                handle:
                                  type: string
                                  example: abito-adele-2
                                vendor:
                                  type: string
                                  example: 'Mia Rebel Moda'
                                image:
                                  type: string
                                  example: 'https://cdn.shopify.com/s/files/1/0800/0589/0337/products/d78acba9b161.jpg?v=1691051895'
                                count:
                                  type: integer
                                  example: 1
                            variant:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 9
                                product_id:
                                  type: integer
                                  example: 7
                                shopify_variant_id:
                                  type: integer
                                  example: 46035854098721
                                title:
                                  type: string
                                  example: 'Verde acqua / Cotone elastico / S'
                                price:
                                  type: string
                                  example: '19.99'
                                sku:
                                  type: string
                                  example: '0090'
                                inventory:
                                  type: integer
                                  example: 10
                                in_stock:
                                  type: boolean
                                  example: true
                      meta:
                        type: object
                        properties:
                          current_page:
                            type: integer
                            example: 1
                          total_pages:
                            type: integer
                            example: 1
                          total_items:
                            type: integer
                            example: 2
                          per_page:
                            type: integer
                            example: 2
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Dashboard Wishlist Items'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the wishlist.'
        example: 333
        required: true
        schema:
          type: integer
  /api/v1/guest/wishlist/items/status:
    post:
      summary: 'Retrieve List of wishlist items'
      operationId: retrieveListOfWishlistItems
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  status: 201
                  data:
                    -
                      _id: 5757748
                      product_id: 8460971049249
                      variant_id: 46035853771041
                      status: true
                      count: 2
                    -
                      _id: 76878677
                      product_id: 8460971049249
                      variant_id: 46035853771041
                      status: true
                      count: 2
                  message: 'Wishlist products fetch successfully!'
                properties:
                  error:
                    type: boolean
                    example: false
                  status:
                    type: integer
                    example: 201
                  data:
                    type: array
                    example:
                      -
                        _id: 5757748
                        product_id: 8460971049249
                        variant_id: 46035853771041
                        status: true
                        count: 2
                      -
                        _id: 76878677
                        product_id: 8460971049249
                        variant_id: 46035853771041
                        status: true
                        count: 2
                    items:
                      type: object
                      properties:
                        _id:
                          type: integer
                          example: 5757748
                        product_id:
                          type: integer
                          example: 8460971049249
                        variant_id:
                          type: integer
                          example: 46035853771041
                        status:
                          type: boolean
                          example: true
                        count:
                          type: integer
                          example: 2
                  message:
                    type: string
                    example: 'Wishlist products fetch successfully!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
        422:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 422,\n    \"error\": true,\n    \"message\": \"OOPS! items size exceeds limit, max items is 100 to per request\"\n    \"data\": null\n}"
      tags:
        - 'Guest Wishlist Items'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                products:
                  type: array
                  description: 'The Shopify product items, limit is 100 items per request'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      product_id:
                        type: integer
                        description: 'The shopify product id.'
                        example: 8460971049249
                        nullable: false
                      variant_id:
                        type: integer
                        description: 'The shopify variant id.'
                        example: 46035853771041
                        nullable: false
                    required:
                      - product_id
                      - variant_id
                unique_device_id:
                  type: string
                  description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
                  example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
                  nullable: false
              required:
                - products
                - unique_device_id
  /api/v1/guest/wishlist/items/add:
    post:
      summary: 'Add new item to guest wishlist'
      operationId: addNewItemToGuestWishlist
      description: 'Add a product to guest wishlist item resource'
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  status: 201
                  data:
                    _id: 5757748
                    wishlist_id: null
                    product_id: 8460971049249
                    variant_id: 46035853771041
                    status: true
                    count: 2
                    item:
                      product:
                        id: 434343
                        title: 'The Art of Living'
                        handle: the-art-of-living
                        product_id: 8460971049249
                      variant:
                        id: 34333445
                        variant_id: 46035853771041
                        title: 'Small / White'
                        sku: SS-123
                        price: '10.00'
                        inventory: 10
                        in_stock: true
                  message: 'Wishlist item was successfully created!'
                properties:
                  error:
                    type: boolean
                    example: false
                  status:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      _id:
                        type: integer
                        example: 5757748
                      wishlist_id:
                        type: string
                        example: null
                      product_id:
                        type: integer
                        example: 8460971049249
                      variant_id:
                        type: integer
                        example: 46035853771041
                      status:
                        type: boolean
                        example: true
                      count:
                        type: integer
                        example: 2
                      item:
                        type: object
                        properties:
                          product:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 434343
                              title:
                                type: string
                                example: 'The Art of Living'
                              handle:
                                type: string
                                example: the-art-of-living
                              product_id:
                                type: integer
                                example: 8460971049249
                          variant:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 34333445
                              variant_id:
                                type: integer
                                example: 46035853771041
                              title:
                                type: string
                                example: 'Small / White'
                              sku:
                                type: string
                                example: SS-123
                              price:
                                type: string
                                example: '10.00'
                              inventory:
                                type: integer
                                example: 10
                              in_stock:
                                type: boolean
                                example: true
                  message:
                    type: string
                    example: 'Wishlist item was successfully created!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
        403:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 403,\n    \"error\": true,\n    \"message\": \"Maximum wishlist item limit exceeded!\"\n    \"data\": null\n}"
      tags:
        - 'Guest Wishlist Items'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                product_id:
                  type: integer
                  description: 'The shopify product id.'
                  example: 8460971049249
                  nullable: false
                variant_id:
                  type: integer
                  description: 'The shopify variant id.'
                  example: 46035853771041
                  nullable: false
                unique_device_id:
                  type: string
                  description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
                  example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
                  nullable: false
              required:
                - product_id
                - variant_id
                - unique_device_id
  /api/v1/guest/wishlist/items/count:
    get:
      summary: 'Retrieve count guest wishlist items'
      operationId: retrieveCountGuestWishlistItems
      description: ''
      parameters:
        -
          in: query
          name: unique_device_id
          description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
          example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
          required: true
          schema:
            type: string
            description: 'The unique identifier, max length is 50 characters. This one will be as a device identifier, you have to generate it for a users first time visit to your app and have to store it for permanently use case.'
            example: a464eced-0ece-4e6f-a10b-95d8de4fd299-193ff5ac9bd
            nullable: false
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 200,\n    \"error\": false,\n    \"data\": {\n         \"count\": 1,\n    },\n    \"message\": \"Wishlist items total fetched successfully.\"\n}"
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Guest Wishlist Items'
  '/api/v1/guest/wishlist/items/{id}/remove':
    delete:
      summary: 'Remove item from guest wishlist'
      operationId: removeItemFromGuestWishlist
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n    \"status\": 200,\n    \"error\": false,\n    \"data\": {\n         \"_id\":333,\n         \"count\": 4,\n    },\n    \"message\": \"Wishlist item deleted successfully\"\n}"
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Guest Wishlist Items'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the wishlist item.'
        example: 333
        required: true
        schema:
          type: integer
  /api/v1/shop/settings:
    get:
      summary: 'Retrieve Store Settings and Widgets'
      operationId: retrieveStoreSettingsAndWidgets
      description: ''
      parameters:
        -
          in: query
          name: locale
          description: 'Language code, defaults to `en`.'
          example: '`en`'
          required: false
          schema:
            type: string
            description: 'Language code, defaults to `en`.'
            example: '`en`'
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 200
                  error: false
                  message: 'App settings and widgets retrieved successfully'
                  data:
                    settings:
                      app_enable: true
                      count_enable: true
                      guest_enable: true
                      multiple_enable: true
                      cart_move_enable: true
                      share_enable: true
                      subscribe_enable: true
                      analysis_enable: true
                    widgets:
                      custom-analytics:
                        locale: en
                        style:
                          facebook_pixel_code: '453534534534'
                          google_analytics_code: G-H3X2856BN5
                        content: null
                      custom-css:
                        locale: en
                        style:
                          code: "body {\n  margin: 0;\n  padding: 0;\n  color: #000;\n  background: #fff;\n}"
                        content: null
                      collection_page:
                        locale: en
                        style:
                          type: icon-solid
                          bg_color: '#222222'
                          text_color: '#fff'
                          is_absolute: true
                        content:
                          after_text: 'Added to Wishlist'
                          before_text: 'Add to Wishlist'
                      header_menu:
                        locale: en
                        style:
                          button_type: regular
                          primary_color: '#222222'
                          secondary_color: '#fff'
                        content: null
                      product_page:
                        locale: en
                        style:
                          type: icon-solid
                          bg_color: '#222222'
                          is_block: true
                          text_color: '#fff'
                        content:
                          after_text: 'Added to Wishlist'
                          before_text: 'Add to Wishlist'
                      cart_page:
                        locale: en
                        style:
                          type: icon-solid
                          bg_color: '#222222'
                          is_simple: false
                          text_color: '#fff'
                        content:
                          after_text: 'Saved For Later'
                          before_text: 'Save For Later'
                      wishlist_page:
                        locale: en
                        style:
                          theme:
                            primary: '#222222'
                            secondary: '#fff'
                            primary_text: '#343a40'
                            secondary_text: '#253d4e'
                        content:
                          empty:
                            title: 'Your wishlist is empty!'
                            btn_url: /shop
                            btn_text: 'Go Shopping'
                            description: 'OOPS, There are no products in wishlist, go find the products you like!'
                          login:
                            title: 'Login is required to see your wishlist!'
                            btn_text: Login
                          popup:
                            confirm:
                              title: 'Are you sure you want to delete this element?'
                              no_btn_text: 'No'
                              yes_btn_text: 'Yes'
                              close_btn_text: Close
                            add_edit:
                              add:
                                title: 'Create a new list'
                                btn_text: 'Create New List'
                              edit:
                                title: 'Edit List'
                                btn_text: 'Update List'
                              error: 'Please enter list name'
                              placeholder: 'Enter list name'
                              radio_public: '<b class="ws--strong">Public</b> - Only people with a link to this list can see it'
                              radio_private: '<b class="ws--strong">Private</b> - Only you can see this list, you can''t share it'
                              close_btn_text: Close
                            move_share:
                              move:
                                title: 'Move to another list'
                                btn_text: 'Move to List'
                                no_option_message: 'OOPS, There are no lists to move.'
                              share:
                                title: 'Share your wishlist'
                                btn_text: Copy
                              close_btn_text: Close
                          header:
                            title: 'My Wishlist'
                            description: 'To save your wishlist please <a href="/account/login">login</a> Or <a href="/account/register">sign up</a>.'
                            search_placeholder: Search
                          content:
                            layout: grid
                            added_on: 'Added on'
                            stock_in: 'In Stock'
                            stock_out: 'Stock Out'
                            cart_btn_text: 'Move to Cart'
                            move_btn_text: 'Move to another list'
                          sidebar:
                            default_text: Default
                            edit_btn_text: Edit
                            share_btn_text: Share
                            create_btn_text: 'Create new list'
                            delete_btn_text: Delete
                          notification:
                            error: 'OOPS, There was an error. Please try again!'
                            copy_link: 'Copied the link to clipboard!'
                            list_create: 'Wishlist was created successfully!'
                            list_delete: 'Wishlist was deleted successfully!'
                            list_update: 'Wishlist was updated successfully!'
                            product_move: 'Product was moved successfully!'
                      wishlist_popup:
                        locale: en
                        style:
                          theme:
                            primary: '#222222'
                            secondary: '#3e4146'
                          button:
                            bg_color: '#222222'
                            text_color: '#fff'
                        content:
                          radio:
                            public: '<b class="ws--strong">Public</b> - Only people with a link to this list can see it'
                            private: '<b class="ws--strong">Private</b> - Only you can see this list, you can''t share it'
                          button:
                            list_btn_text: 'Create New List'
                            close_btn_text: Close
                            wishlist_btn_text: 'Add to Wishlist'
                          heading:
                            list_text: 'Create a new list'
                            wishlist_text: 'Choose a wishlist'
                            separator_text: or
                          message:
                            no_option_text: 'OOPS! No option to show.'
                            list_input_empty_text: 'Wishlist name is required!'
                            list_input_placeholder: 'Enter wishlist name...'
                      subscriber_popup:
                        locale: en
                        style:
                          theme:
                            accent: '#3e4146'
                            primary: '#222222'
                            secondary: '#fff'
                        content:
                          form:
                            email:
                              label: 'Email Address'
                              errors:
                                email: 'Email address is invalid'
                                required: 'Email address is required'
                              placeholder: 'Enter your email'
                            last_name:
                              label: 'Last Name'
                              placeholder: 'Enter your last name'
                            first_name:
                              label: 'First Name'
                              placeholder: 'Enter your first name'
                          button:
                            cancel_btn_text: Cancel
                            subscribe_btn_text: Subscribe
                          footer:
                            text: 'We will send you an email when your wishlist products have interesting update to help save your time and money. We will never share your email address with anyone else.'
                          header:
                            title: 'Remind Me About My Wishlist'
                            sub_title: 'Receive updates about your wishlist content via email'
                            close_btn_text: Close
                          messages:
                            error: 'OOPS! There was an error, please try again.'
                            unique: 'OOPS! Email is already subscribed, please use another valid email.'
                            success: 'Subscribed successfully! Please confirm your email for activated'
                            subscriber: 'OOPS! Already subscribed, you are not able to subscribe again.'
                      notification:
                        locale: en
                        style:
                          theme:
                            primary: '#222222'
                            secondary: '#3e4146'
                          timeout: '3500'
                        content:
                          button:
                            view_btn_text: View
                            close_btn_text: Close
                            btn_separator_text: or
                          message:
                            added_text: 'Product added in wishlist'
                            removed_text: 'Product removed to wishlist'
                      toast_notification:
                        locale: en
                        style: null
                        content:
                          common_error_text: 'OOPS! Something went wrong, please try again later!'
                          guest_disable_text: 'Please login to add this item to your Wishlist!'
                          wishlist_limit_text: 'Maximum wishlist item limit exceeded!'
                properties:
                  status:
                    type: integer
                    example: 200
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'App settings and widgets retrieved successfully'
                  data:
                    type: object
                    properties:
                      settings:
                        type: object
                        properties:
                          app_enable:
                            type: boolean
                            example: true
                          count_enable:
                            type: boolean
                            example: true
                          guest_enable:
                            type: boolean
                            example: true
                          multiple_enable:
                            type: boolean
                            example: true
                          cart_move_enable:
                            type: boolean
                            example: true
                          share_enable:
                            type: boolean
                            example: true
                          subscribe_enable:
                            type: boolean
                            example: true
                          analysis_enable:
                            type: boolean
                            example: true
                      widgets:
                        type: object
                        properties:
                          custom-analytics:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  facebook_pixel_code:
                                    type: string
                                    example: '453534534534'
                                  google_analytics_code:
                                    type: string
                                    example: G-H3X2856BN5
                              content:
                                type: string
                                example: null
                          custom-css:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  code:
                                    type: string
                                    example: "body {\n  margin: 0;\n  padding: 0;\n  color: #000;\n  background: #fff;\n}"
                              content:
                                type: string
                                example: null
                          collection_page:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    example: icon-solid
                                  bg_color:
                                    type: string
                                    example: '#222222'
                                  text_color:
                                    type: string
                                    example: '#fff'
                                  is_absolute:
                                    type: boolean
                                    example: true
                              content:
                                type: object
                                properties:
                                  after_text:
                                    type: string
                                    example: 'Added to Wishlist'
                                  before_text:
                                    type: string
                                    example: 'Add to Wishlist'
                          header_menu:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  button_type:
                                    type: string
                                    example: regular
                                  primary_color:
                                    type: string
                                    example: '#222222'
                                  secondary_color:
                                    type: string
                                    example: '#fff'
                              content:
                                type: string
                                example: null
                          product_page:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    example: icon-solid
                                  bg_color:
                                    type: string
                                    example: '#222222'
                                  is_block:
                                    type: boolean
                                    example: true
                                  text_color:
                                    type: string
                                    example: '#fff'
                              content:
                                type: object
                                properties:
                                  after_text:
                                    type: string
                                    example: 'Added to Wishlist'
                                  before_text:
                                    type: string
                                    example: 'Add to Wishlist'
                          cart_page:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    example: icon-solid
                                  bg_color:
                                    type: string
                                    example: '#222222'
                                  is_simple:
                                    type: boolean
                                    example: false
                                  text_color:
                                    type: string
                                    example: '#fff'
                              content:
                                type: object
                                properties:
                                  after_text:
                                    type: string
                                    example: 'Saved For Later'
                                  before_text:
                                    type: string
                                    example: 'Save For Later'
                          wishlist_page:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  theme:
                                    type: object
                                    properties:
                                      primary: { type: string, example: '#222222' }
                                      secondary: { type: string, example: '#fff' }
                                      primary_text: { type: string, example: '#343a40' }
                                      secondary_text: { type: string, example: '#253d4e' }
                              content:
                                type: object
                                properties:
                                  empty:
                                    type: object
                                    properties:
                                      title: { type: string, example: 'Your wishlist is empty!' }
                                      btn_url: { type: string, example: /shop }
                                      btn_text: { type: string, example: 'Go Shopping' }
                                      description: { type: string, example: 'OOPS, There are no products in wishlist, go find the products you like!' }
                                  login:
                                    type: object
                                    properties:
                                      title: { type: string, example: 'Login is required to see your wishlist!' }
                                      btn_text: { type: string, example: Login }
                                  popup:
                                    type: object
                                    properties:
                                      confirm: { type: object, properties: { title: { type: string, example: 'Are you sure you want to delete this element?' }, no_btn_text: { type: string, example: 'No' }, yes_btn_text: { type: string, example: 'Yes' }, close_btn_text: { type: string, example: Close } } }
                                      add_edit: { type: object, properties: { add: { type: object, properties: { title: { type: string, example: 'Create a new list' }, btn_text: { type: string, example: 'Create New List' } } }, edit: { type: object, properties: { title: { type: string, example: 'Edit List' }, btn_text: { type: string, example: 'Update List' } } }, error: { type: string, example: 'Please enter list name' }, placeholder: { type: string, example: 'Enter list name' }, radio_public: { type: string, example: '<b class="ws--strong">Public</b> - Only people with a link to this list can see it' }, radio_private: { type: string, example: '<b class="ws--strong">Private</b> - Only you can see this list, you can''t share it' }, close_btn_text: { type: string, example: Close } } }
                                      move_share: { type: object, properties: { move: { type: object, properties: { title: { type: string, example: 'Move to another list' }, btn_text: { type: string, example: 'Move to List' }, no_option_message: { type: string, example: 'OOPS, There are no lists to move.' } } }, share: { type: object, properties: { title: { type: string, example: 'Share your wishlist' }, btn_text: { type: string, example: Copy } } }, close_btn_text: { type: string, example: Close } } }
                                  header:
                                    type: object
                                    properties:
                                      title: { type: string, example: 'My Wishlist' }
                                      description: { type: string, example: 'To save your wishlist please <a href="/account/login">login</a> Or <a href="/account/register">sign up</a>.' }
                                      search_placeholder: { type: string, example: Search }
                                  content:
                                    type: object
                                    properties:
                                      layout: { type: string, example: grid }
                                      added_on: { type: string, example: 'Added on' }
                                      stock_in: { type: string, example: 'In Stock' }
                                      stock_out: { type: string, example: 'Stock Out' }
                                      cart_btn_text: { type: string, example: 'Move to Cart' }
                                      move_btn_text: { type: string, example: 'Move to another list' }
                                  sidebar:
                                    type: object
                                    properties:
                                      default_text: { type: string, example: Default }
                                      edit_btn_text: { type: string, example: Edit }
                                      share_btn_text: { type: string, example: Share }
                                      create_btn_text: { type: string, example: 'Create new list' }
                                      delete_btn_text: { type: string, example: Delete }
                                  notification:
                                    type: object
                                    properties:
                                      error: { type: string, example: 'OOPS, There was an error. Please try again!' }
                                      copy_link: { type: string, example: 'Copied the link to clipboard!' }
                                      list_create: { type: string, example: 'Wishlist was created successfully!' }
                                      list_delete: { type: string, example: 'Wishlist was deleted successfully!' }
                                      list_update: { type: string, example: 'Wishlist was updated successfully!' }
                                      product_move: { type: string, example: 'Product was moved successfully!' }
                          wishlist_popup:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  theme:
                                    type: object
                                    properties:
                                      primary: { type: string, example: '#222222' }
                                      secondary: { type: string, example: '#3e4146' }
                                  button:
                                    type: object
                                    properties:
                                      bg_color: { type: string, example: '#222222' }
                                      text_color: { type: string, example: '#fff' }
                              content:
                                type: object
                                properties:
                                  radio:
                                    type: object
                                    properties:
                                      public: { type: string, example: '<b class="ws--strong">Public</b> - Only people with a link to this list can see it' }
                                      private: { type: string, example: '<b class="ws--strong">Private</b> - Only you can see this list, you can''t share it' }
                                  button:
                                    type: object
                                    properties:
                                      list_btn_text: { type: string, example: 'Create New List' }
                                      close_btn_text: { type: string, example: Close }
                                      wishlist_btn_text: { type: string, example: 'Add to Wishlist' }
                                  heading:
                                    type: object
                                    properties:
                                      list_text: { type: string, example: 'Create a new list' }
                                      wishlist_text: { type: string, example: 'Choose a wishlist' }
                                      separator_text: { type: string, example: or }
                                  message:
                                    type: object
                                    properties:
                                      no_option_text: { type: string, example: 'OOPS! No option to show.' }
                                      list_input_empty_text: { type: string, example: 'Wishlist name is required!' }
                                      list_input_placeholder: { type: string, example: 'Enter wishlist name...' }
                          subscriber_popup:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  theme:
                                    type: object
                                    properties:
                                      accent: { type: string, example: '#3e4146' }
                                      primary: { type: string, example: '#222222' }
                                      secondary: { type: string, example: '#fff' }
                              content:
                                type: object
                                properties:
                                  form:
                                    type: object
                                    properties:
                                      email: { type: object, properties: { label: { type: string, example: 'Email Address' }, errors: { type: object, properties: { email: { type: string, example: 'Email address is invalid' }, required: { type: string, example: 'Email address is required' } } }, placeholder: { type: string, example: 'Enter your email' } } }
                                      last_name: { type: object, properties: { label: { type: string, example: 'Last Name' }, placeholder: { type: string, example: 'Enter your last name' } } }
                                      first_name: { type: object, properties: { label: { type: string, example: 'First Name' }, placeholder: { type: string, example: 'Enter your first name' } } }
                                  button:
                                    type: object
                                    properties:
                                      cancel_btn_text: { type: string, example: Cancel }
                                      subscribe_btn_text: { type: string, example: Subscribe }
                                  footer:
                                    type: object
                                    properties:
                                      text: { type: string, example: 'We will send you an email when your wishlist products have interesting update to help save your time and money. We will never share your email address with anyone else.' }
                                  header:
                                    type: object
                                    properties:
                                      title: { type: string, example: 'Remind Me About My Wishlist' }
                                      sub_title: { type: string, example: 'Receive updates about your wishlist content via email' }
                                      close_btn_text: { type: string, example: Close }
                                  messages:
                                    type: object
                                    properties:
                                      error: { type: string, example: 'OOPS! There was an error, please try again.' }
                                      unique: { type: string, example: 'OOPS! Email is already subscribed, please use another valid email.' }
                                      success: { type: string, example: 'Subscribed successfully! Please confirm your email for activated' }
                                      subscriber: { type: string, example: 'OOPS! Already subscribed, you are not able to subscribe again.' }
                          notification:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: object
                                properties:
                                  theme:
                                    type: object
                                    properties:
                                      primary: { type: string, example: '#222222' }
                                      secondary: { type: string, example: '#3e4146' }
                                  timeout:
                                    type: string
                                    example: '3500'
                              content:
                                type: object
                                properties:
                                  button:
                                    type: object
                                    properties:
                                      view_btn_text: { type: string, example: View }
                                      close_btn_text: { type: string, example: Close }
                                      btn_separator_text: { type: string, example: or }
                                  message:
                                    type: object
                                    properties:
                                      added_text: { type: string, example: 'Product added in wishlist' }
                                      removed_text: { type: string, example: 'Product removed to wishlist' }
                          toast_notification:
                            type: object
                            properties:
                              locale:
                                type: string
                                example: en
                              style:
                                type: string
                                example: null
                              content:
                                type: object
                                properties:
                                  common_error_text:
                                    type: string
                                    example: 'OOPS! Something went wrong, please try again later!'
                                  guest_disable_text:
                                    type: string
                                    example: 'Please login to add this item to your Wishlist!'
                                  wishlist_limit_text:
                                    type: string
                                    example: 'Maximum wishlist item limit exceeded!'
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Settings
tags:
  -
    name: 'Customer Wishlist'
    description: "\nAPIs for managing customer wishlists"
  -
    name: 'Customer Wishlist Items'
    description: "\nAPIs for managing customer wishlist items"
  -
    name: 'Dashboard Wishlist Items'
    description: "\nAPIs for managing guest or customer wishlist items for user dashboard"
  -
    name: 'Guest Wishlist Items'
    description: "\nAPIs for managing guest wishlist items"
  -
    name: Settings
    description: "\nAPIs for managing app settings for store"
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your Settings > API Tokens and clicking Create New Token in the App.'
security:
  -
    default: []
