spree_api 4.3.0.rc2 → 4.3.0.rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/spree/api/v2/caching.rb +2 -2
  3. data/app/controllers/spree/api/v2/base_controller.rb +3 -1
  4. data/app/controllers/spree/api/v2/platform/menu_items_controller.rb +2 -2
  5. data/app/controllers/spree/api/v2/platform/menus_controller.rb +4 -0
  6. data/app/controllers/spree/api/v2/platform/resource_controller.rb +3 -0
  7. data/app/controllers/spree/api/v2/storefront/countries_controller.rb +7 -0
  8. data/app/serializers/concerns/spree/api/v2/image_transformation_concern.rb +15 -0
  9. data/app/serializers/concerns/spree/api/v2/taxon_image_transformation_concern.rb +15 -0
  10. data/app/serializers/spree/api/v2/platform/icon_serializer.rb +16 -0
  11. data/app/serializers/spree/api/v2/platform/image_serializer.rb +3 -1
  12. data/app/serializers/spree/api/v2/platform/menu_item_serializer.rb +21 -3
  13. data/app/serializers/spree/api/v2/platform/taxon_image_serializer.rb +3 -1
  14. data/app/serializers/spree/v2/storefront/icon_serializer.rb +14 -0
  15. data/app/serializers/spree/v2/storefront/image_serializer.rb +3 -1
  16. data/app/serializers/spree/v2/storefront/menu_item_serializer.rb +4 -4
  17. data/app/serializers/spree/v2/storefront/payment_method_serializer.rb +4 -0
  18. data/app/serializers/spree/v2/storefront/product_serializer.rb +1 -1
  19. data/app/serializers/spree/v2/storefront/taxon_image_serializer.rb +3 -1
  20. data/config/routes.rb +1 -1
  21. data/docs/v2/platform/index.yaml +1360 -268
  22. data/docs/v2/storefront/index.yaml +8290 -71
  23. data/lib/spree/api/testing_support/v2/platform_contexts.rb +2 -2
  24. metadata +10 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48615e27a8581045bc1b9839021d0d247059463a110a8edae568d697b615c6fa
4
- data.tar.gz: 4f68efa95ca9540d8bdd18d34889d37b25a210c4867035ac09e2eda66643459b
3
+ metadata.gz: 2bd9fd052b9bc9fd57cabf4fb28955081e4e3522aad98fe014641d46ca7b5c2c
4
+ data.tar.gz: f91442e429d34783f73dbc25806afa80ab0cbd5013c07c499c8b7da4bc5a29aa
5
5
  SHA512:
6
- metadata.gz: a859373d202ea8f1ad70c30a9fcc48ed8d89a62bcbaab5d77844a5128dff9a674fb219ed5e523676be47317c259fbab13ba16a4fcfdd2742c6a81247a5ca0097
7
- data.tar.gz: 54e262a305a30977dc426ef8fe1462634214c3e2f4e566182559d8cc54fc79b23fd9ec78f7ece0655a7d77703d879266e2572789071d093b53f401254960b7dd
6
+ metadata.gz: dcc5d4344630b798bb0ea424285c89267ec2034d2a2f2fb483686c17670793b13fb23499a10aec1c579a3c807cd995b2b6b9f6c33ba68cfe4da9883b57de017f
7
+ data.tar.gz: c9d7016ddc08b9d26a438b46a5374d1c229e90e51cb2bace94c4f616c647d13d37eecd913c10ed80126508e25b23d5054032f1bd4ef349098c2caa8fc8869ae6
@@ -14,8 +14,8 @@ module Spree
14
14
  sparse_fields,
15
15
  serializer_params,
16
16
  params[:sort]&.strip,
17
- params[:page]&.strip,
18
- params[:per_page]&.strip,
17
+ params[:page]&.to_s&.strip,
18
+ params[:per_page]&.to_s&.strip,
19
19
  ].flatten.join('-')
20
20
 
21
21
  Digest::MD5.hexdigest(cache_key_parts)
@@ -132,7 +132,9 @@ module Spree
132
132
  currency: current_currency,
133
133
  locale: current_locale,
134
134
  store: current_store,
135
- user: spree_current_user
135
+ user: spree_current_user,
136
+ image_transformation: params[:image_transformation],
137
+ taxon_image_transformation: params[:taxon_image_transformation]
136
138
  }
137
139
  end
138
140
 
@@ -8,7 +8,7 @@ module Spree
8
8
  def reposition
9
9
  spree_authorize! :update, @moved_item if spree_current_user.present?
10
10
 
11
- @moved_item = scope.find(params[:moved_item_id])
11
+ @moved_item = scope.find(params[:id])
12
12
  @new_parent = scope.find(params[:new_parent_id])
13
13
  new_index = params[:new_position_idx].to_i
14
14
 
@@ -19,7 +19,7 @@ module Spree
19
19
  end
20
20
 
21
21
  if @moved_item.save
22
- head :no_content
22
+ render_serialized_payload { serialize_resource(resource) }
23
23
  end
24
24
  end
25
25
 
@@ -12,6 +12,10 @@ module Spree
12
12
  def scope_includes
13
13
  [:menu_items]
14
14
  end
15
+
16
+ def scope
17
+ current_store.menus
18
+ end
15
19
  end
16
20
  end
17
21
  end
@@ -18,6 +18,8 @@ module Spree
18
18
  def create
19
19
  resource = model_class.new(permitted_resource_params)
20
20
 
21
+ ensure_current_store(resource)
22
+
21
23
  if resource.save
22
24
  render_serialized_payload(201) { serialize_resource(resource) }
23
25
  else
@@ -27,6 +29,7 @@ module Spree
27
29
 
28
30
  def update
29
31
  if resource.update(permitted_resource_params)
32
+ ensure_current_store(resource)
30
33
  render_serialized_payload { serialize_resource(resource) }
31
34
  else
32
35
  render_error_payload(resource.errors)
@@ -3,6 +3,8 @@ module Spree
3
3
  module V2
4
4
  module Storefront
5
5
  class CountriesController < ::Spree::Api::V2::ResourceController
6
+ before_action :set_default_per_page
7
+
6
8
  private
7
9
 
8
10
  def serialize_collection(collection)
@@ -43,6 +45,11 @@ module Spree
43
45
  def model_class
44
46
  Spree::Country
45
47
  end
48
+
49
+ # by default we want to return all countries on a single page
50
+ def set_default_per_page
51
+ params[:per_page] ||= Spree::Country.count
52
+ end
46
53
  end
47
54
  end
48
55
  end
@@ -0,0 +1,15 @@
1
+ module Spree
2
+ module Api
3
+ module V2
4
+ module ImageTransformationConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ def self.included(base)
8
+ base.attribute :transformed_url do |image, params|
9
+ image.generate_url(size: params.dig(:image_transformation, :size))
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Spree
2
+ module Api
3
+ module V2
4
+ module TaxonImageTransformationConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ def self.included(base)
8
+ base.attribute :transformed_url do |image, params|
9
+ image.generate_url(size: params.dig(:taxon_image_transformation, :size))
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ module Spree
2
+ module Api
3
+ module V2
4
+ module Platform
5
+ class IconSerializer < BaseSerializer
6
+ set_type :icon
7
+
8
+ attribute :url do |icon|
9
+ url_helpers = Rails.application.routes.url_helpers
10
+ url_helpers.polymorphic_url(icon.attachment, only_path: true)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -3,9 +3,11 @@ module Spree
3
3
  module V2
4
4
  module Platform
5
5
  class ImageSerializer < BaseSerializer
6
+ include ::Spree::Api::V2::ImageTransformationConcern
7
+
6
8
  set_type :image
7
9
 
8
- attributes :styles, :position, :alt, :created_at, :updated_at
10
+ attributes :styles, :position, :alt, :created_at, :updated_at, :original_url
9
11
 
10
12
  belongs_to :viewable, polymorphic: true
11
13
  end
@@ -5,11 +5,29 @@ module Spree
5
5
  class MenuItemSerializer < BaseSerializer
6
6
  include ::Spree::Api::V2::ResourceSerializerConcern
7
7
 
8
- has_one :image,
8
+ attributes :link
9
+
10
+ attribute :is_container do |menu_item|
11
+ menu_item.container?
12
+ end
13
+
14
+ attribute :is_root do |menu_item|
15
+ menu_item.root?
16
+ end
17
+
18
+ attribute :is_child do |menu_item|
19
+ menu_item.child?
20
+ end
21
+
22
+ attribute :is_leaf do |menu_item|
23
+ menu_item.leaf?
24
+ end
25
+
26
+ has_one :icon,
9
27
  object_method_name: :icon,
10
28
  id_method_name: :icon_id,
11
- record_type: :image,
12
- serializer: :image
29
+ record_type: :icon,
30
+ serializer: :icon
13
31
 
14
32
  belongs_to :menu, serializer: :menu
15
33
  belongs_to :parent, record_type: :menu_item, serializer: :menu_item
@@ -3,9 +3,11 @@ module Spree
3
3
  module V2
4
4
  module Platform
5
5
  class TaxonImageSerializer < BaseSerializer
6
+ include ::Spree::Api::V2::TaxonImageTransformationConcern
7
+
6
8
  set_type :taxon_image
7
9
 
8
- attributes :styles, :alt, :created_at, :updated_at
10
+ attributes :alt, :created_at, :updated_at, :original_url
9
11
  end
10
12
  end
11
13
  end
@@ -0,0 +1,14 @@
1
+ module Spree
2
+ module V2
3
+ module Storefront
4
+ class IconSerializer < BaseSerializer
5
+ set_type :icon
6
+
7
+ attribute :url do |icon|
8
+ url_helpers = Rails.application.routes.url_helpers
9
+ url_helpers.polymorphic_url(icon.attachment, only_path: true)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -2,9 +2,11 @@ module Spree
2
2
  module V2
3
3
  module Storefront
4
4
  class ImageSerializer < BaseSerializer
5
+ include ::Spree::Api::V2::ImageTransformationConcern
6
+
5
7
  set_type :image
6
8
 
7
- attributes :viewable_type, :viewable_id, :styles
9
+ attributes :styles, :position, :alt, :original_url
8
10
  end
9
11
  end
10
12
  end
@@ -4,7 +4,7 @@ module Spree
4
4
  class MenuItemSerializer < BaseSerializer
5
5
  set_type :menu_item
6
6
 
7
- attributes :code, :name, :subtitle, :link, :new_window, :lft, :rgt, :depth
7
+ attributes :code, :name, :subtitle, :link, :destination, :item_type, :new_window, :lft, :rgt, :depth
8
8
 
9
9
  attribute :is_container do |menu_item|
10
10
  menu_item.container?
@@ -22,11 +22,11 @@ module Spree
22
22
  menu_item.leaf?
23
23
  end
24
24
 
25
- has_one :image,
25
+ has_one :icon,
26
26
  object_method_name: :icon,
27
27
  id_method_name: :icon_id,
28
- record_type: :image,
29
- serializer: :image
28
+ record_type: :icon,
29
+ serializer: :icon
30
30
 
31
31
  belongs_to :menu, serializer: :menu
32
32
  belongs_to :parent, record_type: :menu_item, serializer: :menu_item
@@ -5,6 +5,10 @@ module Spree
5
5
  set_type :payment_method
6
6
 
7
7
  attributes :type, :name, :description
8
+
9
+ attribute :preferences do |object|
10
+ object.public_preferences.as_json
11
+ end
8
12
  end
9
13
  end
10
14
  end
@@ -6,7 +6,7 @@ module Spree
6
6
 
7
7
  set_type :product
8
8
 
9
- attributes :name, :description, :available_on, :slug, :meta_description, :meta_keywords, :updated_at
9
+ attributes :name, :description, :available_on, :slug, :meta_description, :meta_keywords, :updated_at, :sku
10
10
 
11
11
  attribute :purchasable do |product|
12
12
  product.purchasable?
@@ -2,9 +2,11 @@ module Spree
2
2
  module V2
3
3
  module Storefront
4
4
  class TaxonImageSerializer < BaseSerializer
5
+ include ::Spree::Api::V2::TaxonImageTransformationConcern
6
+
5
7
  set_type :taxon_image
6
8
 
7
- attributes :viewable_type, :viewable_id, :styles
9
+ attributes :styles, :alt, :original_url
8
10
  end
9
11
  end
10
12
  end
data/config/routes.rb CHANGED
@@ -254,7 +254,7 @@ Spree::Core::Engine.add_routes do
254
254
 
255
255
  # Menu API
256
256
  resources :menus
257
- resource :menu_items do
257
+ resources :menu_items do
258
258
  member do
259
259
  patch :reposition
260
260
  end
@@ -57,8 +57,8 @@ paths:
57
57
  state_name:
58
58
  alternative_phone: 555-555-0199
59
59
  company: Company
60
- created_at: '2021-08-20T11:02:26.158Z'
61
- updated_at: '2021-08-20T11:02:26.158Z'
60
+ created_at: '2021-08-23T21:28:22.108Z'
61
+ updated_at: '2021-08-23T21:28:22.108Z'
62
62
  deleted_at:
63
63
  label:
64
64
  relationships:
@@ -85,8 +85,8 @@ paths:
85
85
  state_name:
86
86
  alternative_phone: 555-555-0199
87
87
  company: Company
88
- created_at: '2021-08-20T11:02:26.166Z'
89
- updated_at: '2021-08-20T11:02:26.166Z'
88
+ created_at: '2021-08-23T21:28:22.134Z'
89
+ updated_at: '2021-08-23T21:28:22.134Z'
90
90
  deleted_at:
91
91
  label:
92
92
  relationships:
@@ -154,8 +154,8 @@ paths:
154
154
  state_name:
155
155
  alternative_phone: 555-555-0199
156
156
  company: Company
157
- created_at: '2021-08-20T11:02:26.535Z'
158
- updated_at: '2021-08-20T11:02:26.535Z'
157
+ created_at: '2021-08-23T21:28:22.275Z'
158
+ updated_at: '2021-08-23T21:28:22.275Z'
159
159
  deleted_at:
160
160
  label:
161
161
  relationships:
@@ -200,7 +200,7 @@ paths:
200
200
  content:
201
201
  application/json:
202
202
  schema:
203
- "$ref": "#/components/schemas/address_params"
203
+ "$ref": "#/components/schemas/addresses_params"
204
204
  "/api/v2/platform/addresses/{id}":
205
205
  get:
206
206
  summary: Returns an Address
@@ -243,8 +243,8 @@ paths:
243
243
  state_name:
244
244
  alternative_phone: 555-555-0199
245
245
  company: Company
246
- created_at: '2021-08-20T11:02:26.609Z'
247
- updated_at: '2021-08-20T11:02:26.609Z'
246
+ created_at: '2021-08-23T21:28:22.297Z'
247
+ updated_at: '2021-08-23T21:28:22.297Z'
248
248
  deleted_at:
249
249
  label:
250
250
  relationships:
@@ -315,8 +315,8 @@ paths:
315
315
  state_name:
316
316
  alternative_phone: 555-555-0199
317
317
  company: Company
318
- created_at: '2021-08-20T11:02:26.706Z'
319
- updated_at: '2021-08-20T11:02:26.721Z'
318
+ created_at: '2021-08-23T21:28:22.331Z'
319
+ updated_at: '2021-08-23T21:28:22.336Z'
320
320
  deleted_at:
321
321
  label:
322
322
  relationships:
@@ -363,7 +363,7 @@ paths:
363
363
  content:
364
364
  application/json:
365
365
  schema:
366
- "$ref": "#/components/schemas/address_params"
366
+ "$ref": "#/components/schemas/addresses_params"
367
367
  delete:
368
368
  summary: Deletes an Address
369
369
  tags:
@@ -439,8 +439,8 @@ paths:
439
439
  type: classification
440
440
  attributes:
441
441
  position: 1
442
- created_at: '2021-08-20T11:02:27.225Z'
443
- updated_at: '2021-08-20T11:02:27.225Z'
442
+ created_at: '2021-08-23T21:28:22.534Z'
443
+ updated_at: '2021-08-23T21:28:22.534Z'
444
444
  relationships:
445
445
  product:
446
446
  data:
@@ -454,8 +454,8 @@ paths:
454
454
  type: classification
455
455
  attributes:
456
456
  position: 1
457
- created_at: '2021-08-20T11:02:27.336Z'
458
- updated_at: '2021-08-20T11:02:27.336Z'
457
+ created_at: '2021-08-23T21:28:22.569Z'
458
+ updated_at: '2021-08-23T21:28:22.569Z'
459
459
  relationships:
460
460
  product:
461
461
  data:
@@ -510,8 +510,8 @@ paths:
510
510
  type: classification
511
511
  attributes:
512
512
  position: 1
513
- created_at: '2021-08-20T11:02:27.775Z'
514
- updated_at: '2021-08-20T11:02:27.775Z'
513
+ created_at: '2021-08-23T21:28:22.728Z'
514
+ updated_at: '2021-08-23T21:28:22.728Z'
515
515
  relationships:
516
516
  product:
517
517
  data:
@@ -538,7 +538,7 @@ paths:
538
538
  content:
539
539
  application/json:
540
540
  schema:
541
- "$ref": "#/components/schemas/classification_params"
541
+ "$ref": "#/components/schemas/classifications_params"
542
542
  "/api/v2/platform/classifications/{id}":
543
543
  get:
544
544
  summary: Returns a Classification
@@ -551,46 +551,1183 @@ paths:
551
551
  in: path
552
552
  required: true
553
553
  schema:
554
- type: string
554
+ type: string
555
+ - name: include
556
+ in: query
557
+ description: 'Select which associated resources you would like to fetch, see:
558
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
559
+ example: product,taxon
560
+ schema:
561
+ type: string
562
+ responses:
563
+ '200':
564
+ description: Record found
565
+ content:
566
+ application/vnd.api+json:
567
+ examples:
568
+ Example:
569
+ value:
570
+ data:
571
+ id: '1'
572
+ type: classification
573
+ attributes:
574
+ position: 1
575
+ created_at: '2021-08-23T21:28:22.787Z'
576
+ updated_at: '2021-08-23T21:28:22.787Z'
577
+ relationships:
578
+ product:
579
+ data:
580
+ id: '1'
581
+ type: product
582
+ taxon:
583
+ data:
584
+ id: '2'
585
+ type: taxon
586
+ '404':
587
+ description: Record not found
588
+ content:
589
+ application/vnd.api+json:
590
+ examples:
591
+ Example:
592
+ value:
593
+ error: The resource you were looking for could not be found.
594
+ '401':
595
+ description: Authentication Failed
596
+ content:
597
+ application/vnd.api+json:
598
+ examples:
599
+ Example:
600
+ value:
601
+ error: The access token is invalid
602
+ put:
603
+ summary: Updates a Classification
604
+ tags:
605
+ - Classifications
606
+ security:
607
+ - bearer_auth: []
608
+ parameters:
609
+ - name: id
610
+ in: path
611
+ required: true
612
+ schema:
613
+ type: string
614
+ - name: include
615
+ in: query
616
+ description: 'Select which associated resources you would like to fetch, see:
617
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
618
+ example: product,taxon
619
+ schema:
620
+ type: string
621
+ responses:
622
+ '200':
623
+ description: record updated
624
+ content:
625
+ application/vnd.api+json:
626
+ examples:
627
+ Example:
628
+ value:
629
+ data:
630
+ id: '1'
631
+ type: classification
632
+ attributes:
633
+ position: 1
634
+ created_at: '2021-08-23T21:28:22.904Z'
635
+ updated_at: '2021-08-23T21:28:22.904Z'
636
+ relationships:
637
+ product:
638
+ data:
639
+ id: '1'
640
+ type: product
641
+ taxon:
642
+ data:
643
+ id: '2'
644
+ type: taxon
645
+ '422':
646
+ description: invalid request
647
+ content:
648
+ application/vnd.api+json:
649
+ examples:
650
+ Example:
651
+ value:
652
+ error: Product can't be blank
653
+ errors:
654
+ product:
655
+ - can't be blank
656
+ '404':
657
+ description: Record not found
658
+ content:
659
+ application/vnd.api+json:
660
+ examples:
661
+ Example:
662
+ value:
663
+ error: The resource you were looking for could not be found.
664
+ '401':
665
+ description: Authentication Failed
666
+ content:
667
+ application/vnd.api+json:
668
+ examples:
669
+ Example:
670
+ value:
671
+ error: The access token is invalid
672
+ requestBody:
673
+ content:
674
+ application/json:
675
+ schema:
676
+ "$ref": "#/components/schemas/classifications_params"
677
+ delete:
678
+ summary: Deletes a Classification
679
+ tags:
680
+ - Classifications
681
+ security:
682
+ - bearer_auth: []
683
+ parameters:
684
+ - name: id
685
+ in: path
686
+ required: true
687
+ schema:
688
+ type: string
689
+ responses:
690
+ '204':
691
+ description: Record deleted
692
+ '404':
693
+ description: Record not found
694
+ content:
695
+ application/vnd.api+json:
696
+ examples:
697
+ Example:
698
+ value:
699
+ error: The resource you were looking for could not be found.
700
+ '401':
701
+ description: Authentication Failed
702
+ content:
703
+ application/vnd.api+json:
704
+ examples:
705
+ Example:
706
+ value:
707
+ error: The access token is invalid
708
+ "/api/v2/platform/classifications/{id}/reposition":
709
+ put:
710
+ summary: Reposition a Classification
711
+ tags:
712
+ - Classifications
713
+ security:
714
+ - bearer_auth: []
715
+ parameters:
716
+ - name: id
717
+ in: path
718
+ required: true
719
+ schema:
720
+ type: string
721
+ - name: include
722
+ in: query
723
+ description: 'Select which associated resources you would like to fetch, see:
724
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
725
+ example: product,taxon
726
+ schema:
727
+ type: string
728
+ responses:
729
+ '200':
730
+ description: record updated
731
+ content:
732
+ application/vnd.api+json:
733
+ examples:
734
+ Example:
735
+ value:
736
+ data:
737
+ id: '1'
738
+ type: classification
739
+ attributes:
740
+ position: 2
741
+ created_at: '2021-08-23T21:28:23.191Z'
742
+ updated_at: '2021-08-23T21:28:23.199Z'
743
+ relationships:
744
+ product:
745
+ data:
746
+ id: '1'
747
+ type: product
748
+ taxon:
749
+ data:
750
+ id: '2'
751
+ type: taxon
752
+ '422':
753
+ description: invalid request
754
+ content:
755
+ application/vnd.api+json:
756
+ examples:
757
+ Example:
758
+ value:
759
+ error: is not a number
760
+ errors: {}
761
+ '404':
762
+ description: Record not found
763
+ content:
764
+ application/vnd.api+json:
765
+ examples:
766
+ Example:
767
+ value:
768
+ error: The resource you were looking for could not be found.
769
+ '401':
770
+ description: Authentication Failed
771
+ content:
772
+ application/vnd.api+json:
773
+ examples:
774
+ Example:
775
+ value:
776
+ error: The access token is invalid
777
+ requestBody:
778
+ content:
779
+ application/json:
780
+ schema:
781
+ "$ref": "#/components/schemas/classification_params"
782
+ "/api/v2/platform/countries":
783
+ get:
784
+ summary: Returns a list of Countries
785
+ tags:
786
+ - Countries
787
+ security:
788
+ - bearer_auth: []
789
+ responses:
790
+ '200':
791
+ description: Records returned
792
+ content:
793
+ application/vnd.api+json:
794
+ examples:
795
+ Example:
796
+ value:
797
+ data:
798
+ - id: '1'
799
+ type: country
800
+ attributes:
801
+ iso_name: UNITED STATES
802
+ iso: US
803
+ iso3: IS34
804
+ name: United States of America
805
+ numcode: 840
806
+ states_required: true
807
+ updated_at: '2021-08-23T21:28:23.328Z'
808
+ zipcode_required: true
809
+ created_at: '2021-08-23T21:28:23.328Z'
810
+ relationships:
811
+ states:
812
+ data: []
813
+ - id: '2'
814
+ type: country
815
+ attributes:
816
+ iso_name: ISO_NAME_2
817
+ iso: I2
818
+ iso3: IS35
819
+ name: NAME_2
820
+ numcode: 840
821
+ states_required: false
822
+ updated_at: '2021-08-23T21:28:23.332Z'
823
+ zipcode_required: true
824
+ created_at: '2021-08-23T21:28:23.332Z'
825
+ relationships:
826
+ states:
827
+ data: []
828
+ - id: '3'
829
+ type: country
830
+ attributes:
831
+ iso_name: ISO_NAME_3
832
+ iso: I3
833
+ iso3: IS36
834
+ name: NAME_3
835
+ numcode: 840
836
+ states_required: false
837
+ updated_at: '2021-08-23T21:28:23.333Z'
838
+ zipcode_required: true
839
+ created_at: '2021-08-23T21:28:23.333Z'
840
+ relationships:
841
+ states:
842
+ data: []
843
+ meta:
844
+ count: 3
845
+ total_count: 3
846
+ total_pages: 1
847
+ links:
848
+ self: http://www.example.com/api/v2/platform/countries
849
+ next: http://www.example.com/api/v2/platform/countries?page=1
850
+ prev: http://www.example.com/api/v2/platform/countries?page=1
851
+ last: http://www.example.com/api/v2/platform/countries?page=1
852
+ first: http://www.example.com/api/v2/platform/countries?page=1
853
+ '401':
854
+ description: Authentication Failed
855
+ content:
856
+ application/vnd.api+json:
857
+ examples:
858
+ Example:
859
+ value:
860
+ error: The access token is invalid
861
+ "/api/v2/platform/countries/{id}":
862
+ get:
863
+ summary: Returns a Country
864
+ tags:
865
+ - Countries
866
+ security:
867
+ - bearer_auth: []
868
+ parameters:
869
+ - name: id
870
+ in: path
871
+ required: true
872
+ schema:
873
+ type: string
874
+ responses:
875
+ '200':
876
+ description: Record found
877
+ content:
878
+ application/vnd.api+json:
879
+ examples:
880
+ Example:
881
+ value:
882
+ data:
883
+ id: '2'
884
+ type: country
885
+ attributes:
886
+ iso_name: ISO_NAME_6
887
+ iso: I6
888
+ iso3: IS41
889
+ name: NAME_6
890
+ numcode: 840
891
+ states_required: false
892
+ updated_at: '2021-08-23T21:28:23.362Z'
893
+ zipcode_required: true
894
+ created_at: '2021-08-23T21:28:23.362Z'
895
+ relationships:
896
+ states:
897
+ data: []
898
+ '404':
899
+ description: Record not found
900
+ content:
901
+ application/vnd.api+json:
902
+ examples:
903
+ Example:
904
+ value:
905
+ error: The resource you were looking for could not be found.
906
+ '401':
907
+ description: Authentication Failed
908
+ content:
909
+ application/vnd.api+json:
910
+ examples:
911
+ Example:
912
+ value:
913
+ error: The access token is invalid
914
+ "/api/v2/platform/menu_items":
915
+ get:
916
+ summary: Returns a list of MenuItems
917
+ tags:
918
+ - MenuItems
919
+ security:
920
+ - bearer_auth: []
921
+ parameters:
922
+ - name: page
923
+ in: query
924
+ example: 1
925
+ schema:
926
+ type: integer
927
+ - name: per_page
928
+ in: query
929
+ example: 50
930
+ schema:
931
+ type: integer
932
+ - name: include
933
+ in: query
934
+ description: 'Select which associated resources you would like to fetch, see:
935
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
936
+ example: linked_resource
937
+ schema:
938
+ type: string
939
+ - name: filter
940
+ in: query
941
+ description: ''
942
+ example:
943
+ schema:
944
+ type: string
945
+ responses:
946
+ '200':
947
+ description: Records returned
948
+ content:
949
+ application/vnd.api+json:
950
+ examples:
951
+ Example:
952
+ value:
953
+ data:
954
+ - id: '1'
955
+ type: menu_item
956
+ attributes:
957
+ name: Quia ea unde minus sunt voluptatum iste repellendus.
958
+ subtitle:
959
+ destination:
960
+ new_window: false
961
+ item_type: Container
962
+ linked_resource_type: URL
963
+ code:
964
+ lft: 1
965
+ rgt: 16
966
+ depth: 0
967
+ created_at: '2021-08-23T21:28:23.403Z'
968
+ updated_at: '2021-08-23T21:28:23.479Z'
969
+ link:
970
+ is_container: true
971
+ is_root: true
972
+ is_child: false
973
+ is_leaf: false
974
+ relationships:
975
+ icon:
976
+ data:
977
+ menu:
978
+ data:
979
+ id: '1'
980
+ type: menu
981
+ parent:
982
+ data:
983
+ linked_resource:
984
+ data:
985
+ children:
986
+ data:
987
+ - id: '2'
988
+ type: menu_item
989
+ - id: '3'
990
+ type: menu_item
991
+ - id: '4'
992
+ type: menu_item
993
+ - id: '5'
994
+ type: menu_item
995
+ - id: '6'
996
+ type: menu_item
997
+ - id: '7'
998
+ type: menu_item
999
+ - id: '8'
1000
+ type: menu_item
1001
+ - id: '2'
1002
+ type: menu_item
1003
+ attributes:
1004
+ name: Link no. 1 To Somewhere
1005
+ subtitle:
1006
+ destination:
1007
+ new_window: false
1008
+ item_type: Link
1009
+ linked_resource_type: URL
1010
+ code:
1011
+ lft: 2
1012
+ rgt: 3
1013
+ depth: 1
1014
+ created_at: '2021-08-23T21:28:23.414Z'
1015
+ updated_at: '2021-08-23T21:28:23.416Z'
1016
+ link:
1017
+ is_container: false
1018
+ is_root: false
1019
+ is_child: true
1020
+ is_leaf: true
1021
+ relationships:
1022
+ icon:
1023
+ data:
1024
+ id: '1'
1025
+ type: icon
1026
+ menu:
1027
+ data:
1028
+ id: '1'
1029
+ type: menu
1030
+ parent:
1031
+ data:
1032
+ id: '1'
1033
+ type: menu_item
1034
+ linked_resource:
1035
+ data:
1036
+ children:
1037
+ data: []
1038
+ - id: '3'
1039
+ type: menu_item
1040
+ attributes:
1041
+ name: Link no. 2 To Somewhere
1042
+ subtitle:
1043
+ destination:
1044
+ new_window: false
1045
+ item_type: Link
1046
+ linked_resource_type: URL
1047
+ code:
1048
+ lft: 4
1049
+ rgt: 5
1050
+ depth: 1
1051
+ created_at: '2021-08-23T21:28:23.425Z'
1052
+ updated_at: '2021-08-23T21:28:23.426Z'
1053
+ link:
1054
+ is_container: false
1055
+ is_root: false
1056
+ is_child: true
1057
+ is_leaf: true
1058
+ relationships:
1059
+ icon:
1060
+ data:
1061
+ id: '2'
1062
+ type: icon
1063
+ menu:
1064
+ data:
1065
+ id: '1'
1066
+ type: menu
1067
+ parent:
1068
+ data:
1069
+ id: '1'
1070
+ type: menu_item
1071
+ linked_resource:
1072
+ data:
1073
+ children:
1074
+ data: []
1075
+ - id: '4'
1076
+ type: menu_item
1077
+ attributes:
1078
+ name: Link no. 3 To Somewhere
1079
+ subtitle:
1080
+ destination:
1081
+ new_window: false
1082
+ item_type: Link
1083
+ linked_resource_type: URL
1084
+ code:
1085
+ lft: 6
1086
+ rgt: 7
1087
+ depth: 1
1088
+ created_at: '2021-08-23T21:28:23.435Z'
1089
+ updated_at: '2021-08-23T21:28:23.436Z'
1090
+ link:
1091
+ is_container: false
1092
+ is_root: false
1093
+ is_child: true
1094
+ is_leaf: true
1095
+ relationships:
1096
+ icon:
1097
+ data:
1098
+ id: '3'
1099
+ type: icon
1100
+ menu:
1101
+ data:
1102
+ id: '1'
1103
+ type: menu
1104
+ parent:
1105
+ data:
1106
+ id: '1'
1107
+ type: menu_item
1108
+ linked_resource:
1109
+ data:
1110
+ children:
1111
+ data: []
1112
+ - id: '5'
1113
+ type: menu_item
1114
+ attributes:
1115
+ name: Link no. 4 To Somewhere
1116
+ subtitle:
1117
+ destination:
1118
+ new_window: false
1119
+ item_type: Link
1120
+ linked_resource_type: URL
1121
+ code:
1122
+ lft: 8
1123
+ rgt: 9
1124
+ depth: 1
1125
+ created_at: '2021-08-23T21:28:23.444Z'
1126
+ updated_at: '2021-08-23T21:28:23.446Z'
1127
+ link:
1128
+ is_container: false
1129
+ is_root: false
1130
+ is_child: true
1131
+ is_leaf: true
1132
+ relationships:
1133
+ icon:
1134
+ data:
1135
+ id: '4'
1136
+ type: icon
1137
+ menu:
1138
+ data:
1139
+ id: '1'
1140
+ type: menu
1141
+ parent:
1142
+ data:
1143
+ id: '1'
1144
+ type: menu_item
1145
+ linked_resource:
1146
+ data:
1147
+ children:
1148
+ data: []
1149
+ - id: '6'
1150
+ type: menu_item
1151
+ attributes:
1152
+ name: Link no. 5 To Somewhere
1153
+ subtitle:
1154
+ destination:
1155
+ new_window: false
1156
+ item_type: Link
1157
+ linked_resource_type: URL
1158
+ code:
1159
+ lft: 10
1160
+ rgt: 11
1161
+ depth: 1
1162
+ created_at: '2021-08-23T21:28:23.454Z'
1163
+ updated_at: '2021-08-23T21:28:23.456Z'
1164
+ link:
1165
+ is_container: false
1166
+ is_root: false
1167
+ is_child: true
1168
+ is_leaf: true
1169
+ relationships:
1170
+ icon:
1171
+ data:
1172
+ id: '5'
1173
+ type: icon
1174
+ menu:
1175
+ data:
1176
+ id: '1'
1177
+ type: menu
1178
+ parent:
1179
+ data:
1180
+ id: '1'
1181
+ type: menu_item
1182
+ linked_resource:
1183
+ data:
1184
+ children:
1185
+ data: []
1186
+ - id: '7'
1187
+ type: menu_item
1188
+ attributes:
1189
+ name: Link no. 6 To Somewhere
1190
+ subtitle:
1191
+ destination:
1192
+ new_window: false
1193
+ item_type: Link
1194
+ linked_resource_type: URL
1195
+ code:
1196
+ lft: 12
1197
+ rgt: 13
1198
+ depth: 1
1199
+ created_at: '2021-08-23T21:28:23.464Z'
1200
+ updated_at: '2021-08-23T21:28:23.465Z'
1201
+ link:
1202
+ is_container: false
1203
+ is_root: false
1204
+ is_child: true
1205
+ is_leaf: true
1206
+ relationships:
1207
+ icon:
1208
+ data:
1209
+ id: '6'
1210
+ type: icon
1211
+ menu:
1212
+ data:
1213
+ id: '1'
1214
+ type: menu
1215
+ parent:
1216
+ data:
1217
+ id: '1'
1218
+ type: menu_item
1219
+ linked_resource:
1220
+ data:
1221
+ children:
1222
+ data: []
1223
+ - id: '8'
1224
+ type: menu_item
1225
+ attributes:
1226
+ name: Link no. 7 To Somewhere
1227
+ subtitle:
1228
+ destination:
1229
+ new_window: false
1230
+ item_type: Link
1231
+ linked_resource_type: URL
1232
+ code:
1233
+ lft: 14
1234
+ rgt: 15
1235
+ depth: 1
1236
+ created_at: '2021-08-23T21:28:23.474Z'
1237
+ updated_at: '2021-08-23T21:28:23.475Z'
1238
+ link:
1239
+ is_container: false
1240
+ is_root: false
1241
+ is_child: true
1242
+ is_leaf: true
1243
+ relationships:
1244
+ icon:
1245
+ data:
1246
+ id: '7'
1247
+ type: icon
1248
+ menu:
1249
+ data:
1250
+ id: '1'
1251
+ type: menu
1252
+ parent:
1253
+ data:
1254
+ id: '1'
1255
+ type: menu_item
1256
+ linked_resource:
1257
+ data:
1258
+ children:
1259
+ data: []
1260
+ meta:
1261
+ count: 8
1262
+ total_count: 8
1263
+ total_pages: 1
1264
+ links:
1265
+ self: http://www.example.com/api/v2/platform/menu_items?page=1&per_page=&include=&filter=
1266
+ next: http://www.example.com/api/v2/platform/menu_items?include=&page=1&per_page=
1267
+ prev: http://www.example.com/api/v2/platform/menu_items?include=&page=1&per_page=
1268
+ last: http://www.example.com/api/v2/platform/menu_items?include=&page=1&per_page=
1269
+ first: http://www.example.com/api/v2/platform/menu_items?include=&page=1&per_page=
1270
+ '401':
1271
+ description: Authentication Failed
1272
+ content:
1273
+ application/vnd.api+json:
1274
+ examples:
1275
+ Example:
1276
+ value:
1277
+ error: The access token is invalid
1278
+ post:
1279
+ summary: Creates a MenuItem
1280
+ tags:
1281
+ - MenuItems
1282
+ security:
1283
+ - bearer_auth: []
1284
+ parameters:
1285
+ - name: include
1286
+ in: query
1287
+ description: 'Select which associated resources you would like to fetch, see:
1288
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
1289
+ example: linked_resource
1290
+ schema:
1291
+ type: string
1292
+ responses:
1293
+ '201':
1294
+ description: record created
1295
+ content:
1296
+ application/vnd.api+json:
1297
+ examples:
1298
+ Example:
1299
+ value:
1300
+ data:
1301
+ id: '5'
1302
+ type: menu_item
1303
+ attributes:
1304
+ name: Link no. 18 To Somewhere
1305
+ subtitle:
1306
+ destination:
1307
+ new_window: false
1308
+ item_type: Link
1309
+ linked_resource_type: URL
1310
+ code:
1311
+ lft: 8
1312
+ rgt: 9
1313
+ depth: 1
1314
+ created_at: '2021-08-23T21:28:23.637Z'
1315
+ updated_at: '2021-08-23T21:28:23.639Z'
1316
+ link:
1317
+ is_container: false
1318
+ is_root: false
1319
+ is_child: true
1320
+ is_leaf: true
1321
+ relationships:
1322
+ icon:
1323
+ data:
1324
+ menu:
1325
+ data:
1326
+ id: '1'
1327
+ type: menu
1328
+ parent:
1329
+ data:
1330
+ id: '1'
1331
+ type: menu_item
1332
+ linked_resource:
1333
+ data:
1334
+ children:
1335
+ data: []
1336
+ '422':
1337
+ description: invalid request
1338
+ content:
1339
+ application/vnd.api+json:
1340
+ examples:
1341
+ Example:
1342
+ value:
1343
+ error: Name can't be blank, Menu can't be blank, and Item type
1344
+ is not included in the list
1345
+ errors:
1346
+ name:
1347
+ - can't be blank
1348
+ menu:
1349
+ - can't be blank
1350
+ item_type:
1351
+ - is not included in the list
1352
+ requestBody:
1353
+ content:
1354
+ application/json:
1355
+ schema:
1356
+ "$ref": "#/components/schemas/menu_items_params"
1357
+ "/api/v2/platform/menu_items/{id}":
1358
+ get:
1359
+ summary: Returns a MenuItem
1360
+ tags:
1361
+ - MenuItems
1362
+ security:
1363
+ - bearer_auth: []
1364
+ parameters:
1365
+ - name: id
1366
+ in: path
1367
+ required: true
1368
+ schema:
1369
+ type: string
1370
+ - name: include
1371
+ in: query
1372
+ description: 'Select which associated resources you would like to fetch, see:
1373
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
1374
+ example: linked_resource
1375
+ schema:
1376
+ type: string
1377
+ responses:
1378
+ '200':
1379
+ description: Record found
1380
+ content:
1381
+ application/vnd.api+json:
1382
+ examples:
1383
+ Example:
1384
+ value:
1385
+ data:
1386
+ id: '5'
1387
+ type: menu_item
1388
+ attributes:
1389
+ name: Link no. 25 To Somewhere
1390
+ subtitle:
1391
+ destination:
1392
+ new_window: false
1393
+ item_type: Link
1394
+ linked_resource_type: URL
1395
+ code:
1396
+ lft: 8
1397
+ rgt: 9
1398
+ depth: 1
1399
+ created_at: '2021-08-23T21:28:23.746Z'
1400
+ updated_at: '2021-08-23T21:28:23.748Z'
1401
+ link:
1402
+ is_container: false
1403
+ is_root: false
1404
+ is_child: true
1405
+ is_leaf: true
1406
+ relationships:
1407
+ icon:
1408
+ data:
1409
+ id: '4'
1410
+ type: icon
1411
+ menu:
1412
+ data:
1413
+ id: '1'
1414
+ type: menu
1415
+ parent:
1416
+ data:
1417
+ id: '1'
1418
+ type: menu_item
1419
+ linked_resource:
1420
+ data:
1421
+ children:
1422
+ data: []
1423
+ '404':
1424
+ description: Record not found
1425
+ content:
1426
+ application/vnd.api+json:
1427
+ examples:
1428
+ Example:
1429
+ value:
1430
+ error: The resource you were looking for could not be found.
1431
+ '401':
1432
+ description: Authentication Failed
1433
+ content:
1434
+ application/vnd.api+json:
1435
+ examples:
1436
+ Example:
1437
+ value:
1438
+ error: The access token is invalid
1439
+ put:
1440
+ summary: Updates a MenuItem
1441
+ tags:
1442
+ - MenuItems
1443
+ security:
1444
+ - bearer_auth: []
1445
+ parameters:
1446
+ - name: id
1447
+ in: path
1448
+ required: true
1449
+ schema:
1450
+ type: string
1451
+ - name: include
1452
+ in: query
1453
+ description: 'Select which associated resources you would like to fetch, see:
1454
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
1455
+ example: linked_resource
1456
+ schema:
1457
+ type: string
1458
+ responses:
1459
+ '200':
1460
+ description: record updated
1461
+ content:
1462
+ application/vnd.api+json:
1463
+ examples:
1464
+ Example:
1465
+ value:
1466
+ data:
1467
+ id: '5'
1468
+ type: menu_item
1469
+ attributes:
1470
+ name: Menu Item One
1471
+ subtitle:
1472
+ destination:
1473
+ new_window: false
1474
+ item_type: Link
1475
+ linked_resource_type: URL
1476
+ code:
1477
+ lft: 8
1478
+ rgt: 9
1479
+ depth: 1
1480
+ created_at: '2021-08-23T21:28:23.926Z'
1481
+ updated_at: '2021-08-23T21:28:23.937Z'
1482
+ link:
1483
+ is_container: false
1484
+ is_root: false
1485
+ is_child: true
1486
+ is_leaf: true
1487
+ relationships:
1488
+ icon:
1489
+ data:
1490
+ id: '4'
1491
+ type: icon
1492
+ menu:
1493
+ data:
1494
+ id: '1'
1495
+ type: menu
1496
+ parent:
1497
+ data:
1498
+ id: '1'
1499
+ type: menu_item
1500
+ linked_resource:
1501
+ data:
1502
+ children:
1503
+ data: []
1504
+ '422':
1505
+ description: invalid request
1506
+ content:
1507
+ application/vnd.api+json:
1508
+ examples:
1509
+ Example:
1510
+ value:
1511
+ error: Name can't be blank
1512
+ errors:
1513
+ name:
1514
+ - can't be blank
1515
+ '404':
1516
+ description: Record not found
1517
+ content:
1518
+ application/vnd.api+json:
1519
+ examples:
1520
+ Example:
1521
+ value:
1522
+ error: The resource you were looking for could not be found.
1523
+ '401':
1524
+ description: Authentication Failed
1525
+ content:
1526
+ application/vnd.api+json:
1527
+ examples:
1528
+ Example:
1529
+ value:
1530
+ error: The access token is invalid
1531
+ requestBody:
1532
+ content:
1533
+ application/json:
1534
+ schema:
1535
+ "$ref": "#/components/schemas/menu_items_params"
1536
+ delete:
1537
+ summary: Deletes a MenuItem
1538
+ tags:
1539
+ - MenuItems
1540
+ security:
1541
+ - bearer_auth: []
1542
+ parameters:
1543
+ - name: id
1544
+ in: path
1545
+ required: true
1546
+ schema:
1547
+ type: string
1548
+ responses:
1549
+ '204':
1550
+ description: Record deleted
1551
+ '404':
1552
+ description: Record not found
1553
+ content:
1554
+ application/vnd.api+json:
1555
+ examples:
1556
+ Example:
1557
+ value:
1558
+ error: The resource you were looking for could not be found.
1559
+ '401':
1560
+ description: Authentication Failed
1561
+ content:
1562
+ application/vnd.api+json:
1563
+ examples:
1564
+ Example:
1565
+ value:
1566
+ error: The access token is invalid
1567
+ "/api/v2/platform/menu_items/{id}/reposition":
1568
+ patch:
1569
+ summary: Reposition a Menu Item
1570
+ tags:
1571
+ - MenuItems
1572
+ security:
1573
+ - bearer_auth: []
1574
+ parameters:
1575
+ - name: id
1576
+ in: path
1577
+ required: true
1578
+ schema:
1579
+ type: string
1580
+ responses:
1581
+ '200':
1582
+ description: record updated
1583
+ content:
1584
+ application/vnd.api+json:
1585
+ examples:
1586
+ Example:
1587
+ value:
1588
+ data:
1589
+ id: '5'
1590
+ type: menu_item
1591
+ attributes:
1592
+ name: Link no. 62 To Somewhere
1593
+ subtitle:
1594
+ destination:
1595
+ new_window: false
1596
+ item_type: Link
1597
+ linked_resource_type: URL
1598
+ code:
1599
+ lft: 5
1600
+ rgt: 6
1601
+ depth: 2
1602
+ created_at: '2021-08-23T21:28:24.309Z'
1603
+ updated_at: '2021-08-23T21:28:24.321Z'
1604
+ link:
1605
+ is_container: false
1606
+ is_root: false
1607
+ is_child: true
1608
+ is_leaf: true
1609
+ relationships:
1610
+ icon:
1611
+ data:
1612
+ id: '4'
1613
+ type: icon
1614
+ menu:
1615
+ data:
1616
+ id: '1'
1617
+ type: menu
1618
+ parent:
1619
+ data:
1620
+ id: '3'
1621
+ type: menu_item
1622
+ linked_resource:
1623
+ data:
1624
+ children:
1625
+ data: []
1626
+ '404':
1627
+ description: Record not found
1628
+ content:
1629
+ application/vnd.api+json:
1630
+ examples:
1631
+ Example:
1632
+ value:
1633
+ error: The resource you were looking for could not be found.
1634
+ '401':
1635
+ description: Authentication Failed
1636
+ content:
1637
+ application/vnd.api+json:
1638
+ examples:
1639
+ Example:
1640
+ value:
1641
+ error: The access token is invalid
1642
+ requestBody:
1643
+ content:
1644
+ application/json:
1645
+ schema:
1646
+ "$ref": "#/components/schemas/menu_item_reposition_params"
1647
+ "/api/v2/platform/menus":
1648
+ get:
1649
+ summary: Returns a list of Menus
1650
+ tags:
1651
+ - Menus
1652
+ security:
1653
+ - bearer_auth: []
1654
+ parameters:
1655
+ - name: page
1656
+ in: query
1657
+ example: 1
1658
+ schema:
1659
+ type: integer
1660
+ - name: per_page
1661
+ in: query
1662
+ example: 50
1663
+ schema:
1664
+ type: integer
555
1665
  - name: include
556
1666
  in: query
557
1667
  description: 'Select which associated resources you would like to fetch, see:
558
1668
  <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
559
- example: product,taxon
1669
+ example: menu_items
1670
+ schema:
1671
+ type: string
1672
+ - name: filter
1673
+ in: query
1674
+ description: ''
1675
+ example: location_eq=header
560
1676
  schema:
561
1677
  type: string
562
1678
  responses:
563
1679
  '200':
564
- description: Record found
1680
+ description: Records returned
565
1681
  content:
566
1682
  application/vnd.api+json:
567
1683
  examples:
568
1684
  Example:
569
1685
  value:
570
1686
  data:
571
- id: '1'
572
- type: classification
1687
+ - id: '1'
1688
+ type: menu
573
1689
  attributes:
574
- position: 1
575
- created_at: '2021-08-20T11:02:27.921Z'
576
- updated_at: '2021-08-20T11:02:27.921Z'
1690
+ name: Main Menu
1691
+ location: header
1692
+ locale: en
1693
+ created_at: '2021-08-23T21:28:24.436Z'
1694
+ updated_at: '2021-08-23T21:28:24.464Z'
577
1695
  relationships:
578
- product:
1696
+ menu_items:
579
1697
  data:
580
- id: '1'
581
- type: product
582
- taxon:
1698
+ - id: '1'
1699
+ type: menu_item
1700
+ - id: '3'
1701
+ type: menu_item
1702
+ - id: '4'
1703
+ type: menu_item
1704
+ - id: '2'
1705
+ type: menu
1706
+ attributes:
1707
+ name: Footer Menu
1708
+ location: footer
1709
+ locale: en
1710
+ created_at: '2021-08-23T21:28:24.440Z'
1711
+ updated_at: '2021-08-23T21:28:24.484Z'
1712
+ relationships:
1713
+ menu_items:
583
1714
  data:
584
- id: '2'
585
- type: taxon
586
- '404':
587
- description: Record not found
588
- content:
589
- application/vnd.api+json:
590
- examples:
591
- Example:
592
- value:
593
- error: The resource you were looking for could not be found.
1715
+ - id: '2'
1716
+ type: menu_item
1717
+ - id: '5'
1718
+ type: menu_item
1719
+ - id: '6'
1720
+ type: menu_item
1721
+ meta:
1722
+ count: 2
1723
+ total_count: 2
1724
+ total_pages: 1
1725
+ links:
1726
+ self: http://www.example.com/api/v2/platform/menus?page=1&per_page=&include=&filter=
1727
+ next: http://www.example.com/api/v2/platform/menus?include=&page=1&per_page=
1728
+ prev: http://www.example.com/api/v2/platform/menus?include=&page=1&per_page=
1729
+ last: http://www.example.com/api/v2/platform/menus?include=&page=1&per_page=
1730
+ first: http://www.example.com/api/v2/platform/menus?include=&page=1&per_page=
594
1731
  '401':
595
1732
  description: Authentication Failed
596
1733
  content:
@@ -599,28 +1736,23 @@ paths:
599
1736
  Example:
600
1737
  value:
601
1738
  error: The access token is invalid
602
- put:
603
- summary: Updates a Classification
1739
+ post:
1740
+ summary: Creates a Menu
604
1741
  tags:
605
- - Classifications
1742
+ - Menus
606
1743
  security:
607
1744
  - bearer_auth: []
608
1745
  parameters:
609
- - name: id
610
- in: path
611
- required: true
612
- schema:
613
- type: string
614
1746
  - name: include
615
1747
  in: query
616
1748
  description: 'Select which associated resources you would like to fetch, see:
617
1749
  <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
618
- example: product,taxon
1750
+ example: menu_items
619
1751
  schema:
620
1752
  type: string
621
1753
  responses:
622
- '200':
623
- description: record updated
1754
+ '201':
1755
+ description: record created
624
1756
  content:
625
1757
  application/vnd.api+json:
626
1758
  examples:
@@ -628,20 +1760,18 @@ paths:
628
1760
  value:
629
1761
  data:
630
1762
  id: '1'
631
- type: classification
1763
+ type: menu
632
1764
  attributes:
633
- position: 1
634
- created_at: '2021-08-20T11:02:28.202Z'
635
- updated_at: '2021-08-20T11:02:28.202Z'
1765
+ name: Main Menu
1766
+ location: header
1767
+ locale: en
1768
+ created_at: '2021-08-23T21:28:24.595Z'
1769
+ updated_at: '2021-08-23T21:28:24.598Z'
636
1770
  relationships:
637
- product:
638
- data:
639
- id: '1'
640
- type: product
641
- taxon:
1771
+ menu_items:
642
1772
  data:
643
- id: '2'
644
- type: taxon
1773
+ - id: '1'
1774
+ type: menu_item
645
1775
  '422':
646
1776
  description: invalid request
647
1777
  content:
@@ -649,35 +1779,25 @@ paths:
649
1779
  examples:
650
1780
  Example:
651
1781
  value:
652
- error: Product can't be blank
1782
+ error: Name can't be blank, Locale can't be blank, and Location
1783
+ is not included in the list
653
1784
  errors:
654
- product:
1785
+ name:
655
1786
  - can't be blank
656
- '404':
657
- description: Record not found
658
- content:
659
- application/vnd.api+json:
660
- examples:
661
- Example:
662
- value:
663
- error: The resource you were looking for could not be found.
664
- '401':
665
- description: Authentication Failed
666
- content:
667
- application/vnd.api+json:
668
- examples:
669
- Example:
670
- value:
671
- error: The access token is invalid
1787
+ locale:
1788
+ - can't be blank
1789
+ location:
1790
+ - is not included in the list
672
1791
  requestBody:
673
1792
  content:
674
1793
  application/json:
675
1794
  schema:
676
- "$ref": "#/components/schemas/classification_params"
677
- delete:
678
- summary: Deletes a Classification
1795
+ "$ref": "#/components/schemas/menus_params"
1796
+ "/api/v2/platform/menus/{id}":
1797
+ get:
1798
+ summary: Returns a Menu
679
1799
  tags:
680
- - Classifications
1800
+ - Menus
681
1801
  security:
682
1802
  - bearer_auth: []
683
1803
  parameters:
@@ -686,9 +1806,35 @@ paths:
686
1806
  required: true
687
1807
  schema:
688
1808
  type: string
1809
+ - name: include
1810
+ in: query
1811
+ description: 'Select which associated resources you would like to fetch, see:
1812
+ <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
1813
+ example: menu_items
1814
+ schema:
1815
+ type: string
689
1816
  responses:
690
- '204':
691
- description: Record deleted
1817
+ '200':
1818
+ description: Record found
1819
+ content:
1820
+ application/vnd.api+json:
1821
+ examples:
1822
+ Example:
1823
+ value:
1824
+ data:
1825
+ id: '1'
1826
+ type: menu
1827
+ attributes:
1828
+ name: Main Menu
1829
+ location: header
1830
+ locale: en
1831
+ created_at: '2021-08-23T21:28:24.622Z'
1832
+ updated_at: '2021-08-23T21:28:24.625Z'
1833
+ relationships:
1834
+ menu_items:
1835
+ data:
1836
+ - id: '1'
1837
+ type: menu_item
692
1838
  '404':
693
1839
  description: Record not found
694
1840
  content:
@@ -705,11 +1851,10 @@ paths:
705
1851
  Example:
706
1852
  value:
707
1853
  error: The access token is invalid
708
- "/api/v2/platform/classifications/{id}/reposition":
709
1854
  put:
710
- summary: Reposition a Classification
1855
+ summary: Updates a Menu
711
1856
  tags:
712
- - Classifications
1857
+ - Menus
713
1858
  security:
714
1859
  - bearer_auth: []
715
1860
  parameters:
@@ -722,7 +1867,7 @@ paths:
722
1867
  in: query
723
1868
  description: 'Select which associated resources you would like to fetch, see:
724
1869
  <a href="https://jsonapi.org/format/#fetching-includes">https://jsonapi.org/format/#fetching-includes</a>'
725
- example: product,taxon
1870
+ example: menu_items
726
1871
  schema:
727
1872
  type: string
728
1873
  responses:
@@ -735,20 +1880,18 @@ paths:
735
1880
  value:
736
1881
  data:
737
1882
  id: '1'
738
- type: classification
1883
+ type: menu
739
1884
  attributes:
740
- position: 2
741
- created_at: '2021-08-20T11:02:28.904Z'
742
- updated_at: '2021-08-20T11:02:28.922Z'
1885
+ name: Main Menu
1886
+ location: header
1887
+ locale: en
1888
+ created_at: '2021-08-23T21:28:24.664Z'
1889
+ updated_at: '2021-08-23T21:28:24.667Z'
743
1890
  relationships:
744
- product:
745
- data:
746
- id: '1'
747
- type: product
748
- taxon:
1891
+ menu_items:
749
1892
  data:
750
- id: '2'
751
- type: taxon
1893
+ - id: '1'
1894
+ type: menu_item
752
1895
  '422':
753
1896
  description: invalid request
754
1897
  content:
@@ -756,8 +1899,15 @@ paths:
756
1899
  examples:
757
1900
  Example:
758
1901
  value:
759
- error: is not a number
760
- errors: {}
1902
+ error: Name can't be blank, Locale can't be blank, and Location
1903
+ is not included in the list
1904
+ errors:
1905
+ name:
1906
+ - can't be blank
1907
+ locale:
1908
+ - can't be blank
1909
+ location:
1910
+ - is not included in the list
761
1911
  '404':
762
1912
  description: Record not found
763
1913
  content:
@@ -778,91 +1928,11 @@ paths:
778
1928
  content:
779
1929
  application/json:
780
1930
  schema:
781
- "$ref": "#/components/schemas/classification_params"
782
- "/api/v2/platform/countries":
783
- get:
784
- summary: Returns a list of Countries
785
- tags:
786
- - Countries
787
- security:
788
- - bearer_auth: []
789
- responses:
790
- '200':
791
- description: Records returned
792
- content:
793
- application/vnd.api+json:
794
- examples:
795
- Example:
796
- value:
797
- data:
798
- - id: '1'
799
- type: country
800
- attributes:
801
- iso_name: UNITED STATES
802
- iso: US
803
- iso3: IS34
804
- name: United States of America
805
- numcode: 840
806
- states_required: true
807
- updated_at: '2021-08-20T11:02:29.220Z'
808
- zipcode_required: true
809
- created_at: '2021-08-20T11:02:29.220Z'
810
- relationships:
811
- states:
812
- data: []
813
- - id: '2'
814
- type: country
815
- attributes:
816
- iso_name: ISO_NAME_2
817
- iso: I2
818
- iso3: IS35
819
- name: NAME_2
820
- numcode: 840
821
- states_required: false
822
- updated_at: '2021-08-20T11:02:29.229Z'
823
- zipcode_required: true
824
- created_at: '2021-08-20T11:02:29.229Z'
825
- relationships:
826
- states:
827
- data: []
828
- - id: '3'
829
- type: country
830
- attributes:
831
- iso_name: ISO_NAME_3
832
- iso: I3
833
- iso3: IS36
834
- name: NAME_3
835
- numcode: 840
836
- states_required: false
837
- updated_at: '2021-08-20T11:02:29.231Z'
838
- zipcode_required: true
839
- created_at: '2021-08-20T11:02:29.231Z'
840
- relationships:
841
- states:
842
- data: []
843
- meta:
844
- count: 3
845
- total_count: 3
846
- total_pages: 1
847
- links:
848
- self: http://www.example.com/api/v2/platform/countries
849
- next: http://www.example.com/api/v2/platform/countries?page=1
850
- prev: http://www.example.com/api/v2/platform/countries?page=1
851
- last: http://www.example.com/api/v2/platform/countries?page=1
852
- first: http://www.example.com/api/v2/platform/countries?page=1
853
- '401':
854
- description: Authentication Failed
855
- content:
856
- application/vnd.api+json:
857
- examples:
858
- Example:
859
- value:
860
- error: The access token is invalid
861
- "/api/v2/platform/countries/{id}":
862
- get:
863
- summary: Returns a Country
1931
+ "$ref": "#/components/schemas/menus_params"
1932
+ delete:
1933
+ summary: Deletes a Menu
864
1934
  tags:
865
- - Countries
1935
+ - Menus
866
1936
  security:
867
1937
  - bearer_auth: []
868
1938
  parameters:
@@ -872,29 +1942,8 @@ paths:
872
1942
  schema:
873
1943
  type: string
874
1944
  responses:
875
- '200':
876
- description: Record found
877
- content:
878
- application/vnd.api+json:
879
- examples:
880
- Example:
881
- value:
882
- data:
883
- id: '2'
884
- type: country
885
- attributes:
886
- iso_name: ISO_NAME_6
887
- iso: I6
888
- iso3: IS41
889
- name: NAME_6
890
- numcode: 840
891
- states_required: false
892
- updated_at: '2021-08-20T11:02:29.297Z'
893
- zipcode_required: true
894
- created_at: '2021-08-20T11:02:29.297Z'
895
- relationships:
896
- states:
897
- data: []
1945
+ '204':
1946
+ description: Record deleted
898
1947
  '404':
899
1948
  description: Record not found
900
1949
  content:
@@ -957,8 +2006,8 @@ paths:
957
2006
  name: foo-size-1
958
2007
  presentation: Size
959
2008
  position: 1
960
- created_at: '2021-08-20T11:02:29.373Z'
961
- updated_at: '2021-08-20T11:02:29.373Z'
2009
+ created_at: '2021-08-23T21:28:24.774Z'
2010
+ updated_at: '2021-08-23T21:28:24.774Z'
962
2011
  filterable: true
963
2012
  relationships:
964
2013
  option_values:
@@ -969,8 +2018,8 @@ paths:
969
2018
  name: foo-size-2
970
2019
  presentation: Size
971
2020
  position: 2
972
- created_at: '2021-08-20T11:02:29.375Z'
973
- updated_at: '2021-08-20T11:02:29.375Z'
2021
+ created_at: '2021-08-23T21:28:24.775Z'
2022
+ updated_at: '2021-08-23T21:28:24.775Z'
974
2023
  filterable: true
975
2024
  relationships:
976
2025
  option_values:
@@ -1022,8 +2071,8 @@ paths:
1022
2071
  name: foo-size-5
1023
2072
  presentation: Size
1024
2073
  position: 1
1025
- created_at: '2021-08-20T11:02:29.453Z'
1026
- updated_at: '2021-08-20T11:02:29.453Z'
2074
+ created_at: '2021-08-23T21:28:24.807Z'
2075
+ updated_at: '2021-08-23T21:28:24.807Z'
1027
2076
  filterable: true
1028
2077
  relationships:
1029
2078
  option_values:
@@ -1045,7 +2094,7 @@ paths:
1045
2094
  content:
1046
2095
  application/json:
1047
2096
  schema:
1048
- "$ref": "#/components/schemas/optiontype_params"
2097
+ "$ref": "#/components/schemas/option_types_params"
1049
2098
  "/api/v2/platform/option_types/{id}":
1050
2099
  get:
1051
2100
  summary: Returns an OptionType
@@ -1081,8 +2130,8 @@ paths:
1081
2130
  name: foo-size-6
1082
2131
  presentation: Size
1083
2132
  position: 1
1084
- created_at: '2021-08-20T11:02:29.497Z'
1085
- updated_at: '2021-08-20T11:02:29.497Z'
2133
+ created_at: '2021-08-23T21:28:24.829Z'
2134
+ updated_at: '2021-08-23T21:28:24.829Z'
1086
2135
  filterable: true
1087
2136
  relationships:
1088
2137
  option_values:
@@ -1137,8 +2186,8 @@ paths:
1137
2186
  name: Size-X
1138
2187
  presentation: Size
1139
2188
  position: 1
1140
- created_at: '2021-08-20T11:02:29.580Z'
1141
- updated_at: '2021-08-20T11:02:29.591Z'
2189
+ created_at: '2021-08-23T21:28:24.867Z'
2190
+ updated_at: '2021-08-23T21:28:24.871Z'
1142
2191
  filterable: true
1143
2192
  relationships:
1144
2193
  option_values:
@@ -1174,7 +2223,7 @@ paths:
1174
2223
  content:
1175
2224
  application/json:
1176
2225
  schema:
1177
- "$ref": "#/components/schemas/optiontype_params"
2226
+ "$ref": "#/components/schemas/option_types_params"
1178
2227
  delete:
1179
2228
  summary: Deletes an OptionType
1180
2229
  tags:
@@ -1252,8 +2301,8 @@ paths:
1252
2301
  position: 1
1253
2302
  name: Size-1
1254
2303
  presentation: S
1255
- created_at: '2021-08-20T11:02:29.758Z'
1256
- updated_at: '2021-08-20T11:02:29.758Z'
2304
+ created_at: '2021-08-23T21:28:24.950Z'
2305
+ updated_at: '2021-08-23T21:28:24.950Z'
1257
2306
  relationships:
1258
2307
  option_type:
1259
2308
  data:
@@ -1265,8 +2314,8 @@ paths:
1265
2314
  position: 1
1266
2315
  name: Size-2
1267
2316
  presentation: S
1268
- created_at: '2021-08-20T11:02:29.763Z'
1269
- updated_at: '2021-08-20T11:02:29.763Z'
2317
+ created_at: '2021-08-23T21:28:24.952Z'
2318
+ updated_at: '2021-08-23T21:28:24.952Z'
1270
2319
  relationships:
1271
2320
  option_type:
1272
2321
  data:
@@ -1319,8 +2368,8 @@ paths:
1319
2368
  position: 1
1320
2369
  name: Size-5
1321
2370
  presentation: S
1322
- created_at: '2021-08-20T11:02:29.842Z'
1323
- updated_at: '2021-08-20T11:02:29.842Z'
2371
+ created_at: '2021-08-23T21:28:24.988Z'
2372
+ updated_at: '2021-08-23T21:28:24.988Z'
1324
2373
  relationships:
1325
2374
  option_type:
1326
2375
  data:
@@ -1341,7 +2390,7 @@ paths:
1341
2390
  content:
1342
2391
  application/json:
1343
2392
  schema:
1344
- "$ref": "#/components/schemas/optionvalue_params"
2393
+ "$ref": "#/components/schemas/option_values_params"
1345
2394
  "/api/v2/platform/option_values/{id}":
1346
2395
  get:
1347
2396
  summary: Returns an OptionValue
@@ -1377,8 +2426,8 @@ paths:
1377
2426
  position: 1
1378
2427
  name: Size-6
1379
2428
  presentation: S
1380
- created_at: '2021-08-20T11:02:29.890Z'
1381
- updated_at: '2021-08-20T11:02:29.890Z'
2429
+ created_at: '2021-08-23T21:28:25.015Z'
2430
+ updated_at: '2021-08-23T21:28:25.015Z'
1382
2431
  relationships:
1383
2432
  option_type:
1384
2433
  data:
@@ -1434,8 +2483,8 @@ paths:
1434
2483
  position: 1
1435
2484
  name: M
1436
2485
  presentation: S
1437
- created_at: '2021-08-20T11:02:29.959Z'
1438
- updated_at: '2021-08-20T11:02:29.973Z'
2486
+ created_at: '2021-08-23T21:28:25.052Z'
2487
+ updated_at: '2021-08-23T21:28:25.056Z'
1439
2488
  relationships:
1440
2489
  option_type:
1441
2490
  data:
@@ -1472,7 +2521,7 @@ paths:
1472
2521
  content:
1473
2522
  application/json:
1474
2523
  schema:
1475
- "$ref": "#/components/schemas/optionvalue_params"
2524
+ "$ref": "#/components/schemas/option_values_params"
1476
2525
  delete:
1477
2526
  summary: Deletes an OptionValue
1478
2527
  tags:
@@ -1553,8 +2602,8 @@ paths:
1553
2602
  lft: 1
1554
2603
  rgt: 6
1555
2604
  description:
1556
- created_at: '2021-08-20T11:02:30.161Z'
1557
- updated_at: '2021-08-20T11:02:30.221Z'
2605
+ created_at: '2021-08-23T21:28:25.145Z'
2606
+ updated_at: '2021-08-23T21:28:25.172Z'
1558
2607
  meta_title:
1559
2608
  meta_description:
1560
2609
  meta_keywords:
@@ -1588,8 +2637,8 @@ paths:
1588
2637
  lft: 2
1589
2638
  rgt: 3
1590
2639
  description:
1591
- created_at: '2021-08-20T11:02:30.183Z'
1592
- updated_at: '2021-08-20T11:02:30.187Z'
2640
+ created_at: '2021-08-23T21:28:25.156Z'
2641
+ updated_at: '2021-08-23T21:28:25.157Z'
1593
2642
  meta_title:
1594
2643
  meta_description:
1595
2644
  meta_keywords:
@@ -1623,8 +2672,8 @@ paths:
1623
2672
  lft: 4
1624
2673
  rgt: 5
1625
2674
  description:
1626
- created_at: '2021-08-20T11:02:30.208Z'
1627
- updated_at: '2021-08-20T11:02:30.212Z'
2675
+ created_at: '2021-08-23T21:28:25.167Z'
2676
+ updated_at: '2021-08-23T21:28:25.168Z'
1628
2677
  meta_title:
1629
2678
  meta_description:
1630
2679
  meta_keywords:
@@ -1699,8 +2748,8 @@ paths:
1699
2748
  lft: 2
1700
2749
  rgt: 3
1701
2750
  description:
1702
- created_at: '2021-08-20T11:02:30.393Z'
1703
- updated_at: '2021-08-20T11:02:30.397Z'
2751
+ created_at: '2021-08-23T21:28:25.251Z'
2752
+ updated_at: '2021-08-23T21:28:25.254Z'
1704
2753
  meta_title:
1705
2754
  meta_description:
1706
2755
  meta_keywords:
@@ -1740,7 +2789,7 @@ paths:
1740
2789
  content:
1741
2790
  application/json:
1742
2791
  schema:
1743
- "$ref": "#/components/schemas/taxon_params"
2792
+ "$ref": "#/components/schemas/taxons_params"
1744
2793
  "/api/v2/platform/taxons/{id}":
1745
2794
  get:
1746
2795
  summary: Returns a Taxon
@@ -1779,8 +2828,8 @@ paths:
1779
2828
  lft: 2
1780
2829
  rgt: 3
1781
2830
  description:
1782
- created_at: '2021-08-20T11:02:30.484Z'
1783
- updated_at: '2021-08-20T11:02:30.488Z'
2831
+ created_at: '2021-08-23T21:28:25.291Z'
2832
+ updated_at: '2021-08-23T21:28:25.293Z'
1784
2833
  meta_title:
1785
2834
  meta_description:
1786
2835
  meta_keywords:
@@ -1860,8 +2909,8 @@ paths:
1860
2909
  lft: 2
1861
2910
  rgt: 3
1862
2911
  description:
1863
- created_at: '2021-08-20T11:02:30.652Z'
1864
- updated_at: '2021-08-20T11:02:30.675Z'
2912
+ created_at: '2021-08-23T21:28:25.371Z'
2913
+ updated_at: '2021-08-23T21:28:25.383Z'
1865
2914
  meta_title:
1866
2915
  meta_description:
1867
2916
  meta_keywords:
@@ -1917,7 +2966,7 @@ paths:
1917
2966
  content:
1918
2967
  application/json:
1919
2968
  schema:
1920
- "$ref": "#/components/schemas/taxon_params"
2969
+ "$ref": "#/components/schemas/taxons_params"
1921
2970
  delete:
1922
2971
  summary: Deletes a Taxon
1923
2972
  tags:
@@ -1992,9 +3041,9 @@ paths:
1992
3041
  - id: '1'
1993
3042
  type: user
1994
3043
  attributes:
1995
- email: jasper@dooley.co.uk
1996
- created_at: '2021-08-20T11:02:31.076Z'
1997
- updated_at: '2021-08-20T11:02:31.076Z'
3044
+ email: vernetta@huels.co.uk
3045
+ created_at: '2021-08-23T21:28:25.546Z'
3046
+ updated_at: '2021-08-23T21:28:25.546Z'
1998
3047
  average_order_value: []
1999
3048
  lifetime_value: []
2000
3049
  store_credits: []
@@ -2006,9 +3055,9 @@ paths:
2006
3055
  - id: '2'
2007
3056
  type: user
2008
3057
  attributes:
2009
- email: shanice.breitenberg@labadie.ca
2010
- created_at: '2021-08-20T11:02:31.087Z'
2011
- updated_at: '2021-08-20T11:02:31.087Z'
3058
+ email: pansy_hirthe@smitham.us
3059
+ created_at: '2021-08-23T21:28:25.549Z'
3060
+ updated_at: '2021-08-23T21:28:25.549Z'
2012
3061
  average_order_value: []
2013
3062
  lifetime_value: []
2014
3063
  store_credits: []
@@ -2020,9 +3069,9 @@ paths:
2020
3069
  - id: '3'
2021
3070
  type: user
2022
3071
  attributes:
2023
- email: tristan@reilly.co.uk
2024
- created_at: '2021-08-20T11:02:31.090Z'
2025
- updated_at: '2021-08-20T11:02:31.090Z'
3072
+ email: carmen.kerluke@kossschulist.com
3073
+ created_at: '2021-08-23T21:28:25.550Z'
3074
+ updated_at: '2021-08-23T21:28:25.550Z'
2026
3075
  average_order_value: []
2027
3076
  lifetime_value: []
2028
3077
  store_credits: []
@@ -2075,9 +3124,9 @@ paths:
2075
3124
  id: '2'
2076
3125
  type: user
2077
3126
  attributes:
2078
- email: joan@little.info
2079
- created_at: '2021-08-20T11:02:31.214Z'
2080
- updated_at: '2021-08-20T11:02:31.214Z'
3127
+ email: marx_feil@borer.info
3128
+ created_at: '2021-08-23T21:28:25.597Z'
3129
+ updated_at: '2021-08-23T21:28:25.597Z'
2081
3130
  average_order_value: []
2082
3131
  lifetime_value: []
2083
3132
  store_credits: []
@@ -2101,7 +3150,7 @@ paths:
2101
3150
  content:
2102
3151
  application/json:
2103
3152
  schema:
2104
- "$ref": "#/components/schemas/user_params"
3153
+ "$ref": "#/components/schemas/users_params"
2105
3154
  "/api/v2/platform/users/{id}":
2106
3155
  get:
2107
3156
  summary: Returns an User
@@ -2134,9 +3183,9 @@ paths:
2134
3183
  id: '2'
2135
3184
  type: user
2136
3185
  attributes:
2137
- email: morris@goyettecormier.com
2138
- created_at: '2021-08-20T11:02:31.290Z'
2139
- updated_at: '2021-08-20T11:02:31.290Z'
3186
+ email: stefany@leannon.biz
3187
+ created_at: '2021-08-23T21:28:25.626Z'
3188
+ updated_at: '2021-08-23T21:28:25.626Z'
2140
3189
  average_order_value: []
2141
3190
  lifetime_value: []
2142
3191
  store_credits: []
@@ -2193,8 +3242,8 @@ paths:
2193
3242
  type: user
2194
3243
  attributes:
2195
3244
  email: john@example.com
2196
- created_at: '2021-08-20T11:02:31.401Z'
2197
- updated_at: '2021-08-20T11:02:31.417Z'
3245
+ created_at: '2021-08-23T21:28:25.669Z'
3246
+ updated_at: '2021-08-23T21:28:25.673Z'
2198
3247
  average_order_value: []
2199
3248
  lifetime_value: []
2200
3249
  store_credits: []
@@ -2234,7 +3283,7 @@ paths:
2234
3283
  content:
2235
3284
  application/json:
2236
3285
  schema:
2237
- "$ref": "#/components/schemas/user_params"
3286
+ "$ref": "#/components/schemas/users_params"
2238
3287
  delete:
2239
3288
  summary: Deletes an User
2240
3289
  tags:
@@ -2419,6 +3468,49 @@ components:
2419
3468
  required:
2420
3469
  - name
2421
3470
  - taxonomy_id
3471
+ menu_params:
3472
+ type: object
3473
+ properties:
3474
+ name:
3475
+ type: string
3476
+ location:
3477
+ type: string
3478
+ locale:
3479
+ type: string
3480
+ required:
3481
+ - name
3482
+ - location
3483
+ - locale
3484
+ menu_item_params:
3485
+ type: object
3486
+ properties:
3487
+ name:
3488
+ type: string
3489
+ code:
3490
+ type: string
3491
+ subtitle:
3492
+ type: string
3493
+ destination:
3494
+ type: string
3495
+ new_window:
3496
+ type: boolean
3497
+ item_type:
3498
+ type: string
3499
+ linked_resource_type:
3500
+ type: string
3501
+ linked_resource_id:
3502
+ type: integer
3503
+ required:
3504
+ - name
3505
+ menu_item_reposition_params:
3506
+ type: object
3507
+ properties:
3508
+ new_parent_id:
3509
+ type: integer
3510
+ new_position_idx:
3511
+ type: integer
3512
+ required:
3513
+ - name
2422
3514
  resources_list:
2423
3515
  type: object
2424
3516
  properties: