@wix/agent-skills 1.15.0 → 1.16.0

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 (355) hide show
  1. package/README.md +5 -1
  2. package/package.json +1 -1
  3. package/skills/wix-app/SKILL.md +4 -1
  4. package/skills/wix-app/references/APP_TOOLS.md +134 -0
  5. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +1 -1
  6. package/skills/wix-app/references/DASHBOARD_PAGE.md +0 -10
  7. package/skills/wix-app/references/DATA_COLLECTION.md +6 -4
  8. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +28 -7
  9. package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
  10. package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
  11. package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
  12. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
  13. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
  14. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
  15. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +138 -0
  16. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +172 -0
  17. package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
  18. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
  19. package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
  20. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +33 -2
  21. package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
  22. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +18 -1
  23. package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
  24. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +4 -3
  25. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
  26. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
  27. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
  28. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
  29. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
  30. package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
  31. package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
  32. package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
  33. package/skills/wix-app/references/stores/INVENTORY.md +37 -0
  34. package/skills/wix-app/references/stores/QUERY.md +119 -0
  35. package/skills/wix-app/references/stores/WRITE.md +55 -0
  36. package/skills/wix-docs/SKILL.md +35 -3
  37. package/skills/wix-headless/SKILL.md +9 -2
  38. package/skills/wix-headless/entry/bootstrap.mjs +2 -2
  39. package/skills/wix-headless/entry/skill.md +0 -2
  40. package/skills/wix-headless/references/CAPABILITIES.md +6 -4
  41. package/skills/wix-headless/references/CONTENT.md +36 -0
  42. package/skills/wix-headless/references/DESIGN.md +54 -0
  43. package/skills/wix-headless/references/DISCOVERY.md +25 -1
  44. package/skills/wix-headless/references/FEEDBACK.md +16 -5
  45. package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
  46. package/skills/wix-headless/references/SDK_HANDOFF.md +2 -0
  47. package/skills/wix-headless/references/SEED.md +3 -1
  48. package/skills/wix-headless/references/SETUP.md +1 -1
  49. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
  50. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +42 -2
  51. package/skills/wix-headless/references/inline-recipes/setup-bookings.md +5 -1
  52. package/skills/wix-headless/references/inline-recipes/setup-forms.md +1 -1
  53. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +33 -8
  54. package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +3 -1
  55. package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
  56. package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +38 -2
  57. package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +20 -1
  58. package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +1 -1
  59. package/skills/wix-headless/references/managed/CONNECT.md +2 -2
  60. package/skills/wix-headless/references/managed/CREATE.md +15 -1
  61. package/skills/wix-headless/references/managed/DEPLOYMENT.md +47 -0
  62. package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +8 -0
  63. package/skills/wix-headless/references/stripe/DEPLOYMENT.md +8 -0
  64. package/skills/wix-manage/SKILL.md +131 -12
  65. package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +41 -0
  66. package/skills/wix-manage/references/analytics/query-site-analytics.md +66 -9
  67. package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
  68. package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
  69. package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
  70. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
  71. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
  72. package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
  73. package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
  74. package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
  75. package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +85 -42
  76. package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
  77. package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
  78. package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
  79. package/skills/wix-manage/references/cms/cms-schema-management.md +33 -1
  80. package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
  81. package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
  82. package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
  83. package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
  84. package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
  85. package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
  86. package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
  87. package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
  88. package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
  89. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
  90. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
  91. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
  92. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
  93. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
  94. package/skills/wix-manage/references/events/create-wix-event.md +176 -0
  95. package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
  96. package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
  97. package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
  98. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
  99. package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
  100. package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
  101. package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
  102. package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
  103. package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
  104. package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
  105. package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
  106. package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +225 -144
  107. package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +19 -10
  108. package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
  109. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
  110. package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
  111. package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
  112. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
  113. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
  114. package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
  115. package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
  116. package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
  117. package/skills/wix-manage/references/sites/site-import.md +243 -0
  118. package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
  119. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
  120. package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
  121. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +16 -10
  122. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
  123. package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
  124. package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
  125. package/skills/wix-replatform/.publish-manifest.json +8 -0
  126. package/skills/wix-replatform/SKILL.md +693 -0
  127. package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
  128. package/skills/wix-replatform/lib/completion-report.js +200 -0
  129. package/skills/wix-replatform/lib/config-env.js +59 -0
  130. package/skills/wix-replatform/lib/execution-manifest.js +185 -0
  131. package/skills/wix-replatform/lib/execution-state.js +173 -0
  132. package/skills/wix-replatform/lib/import-recovery.js +313 -0
  133. package/skills/wix-replatform/lib/local-state.js +642 -0
  134. package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
  135. package/skills/wix-replatform/lib/orchestration-router.js +122 -0
  136. package/skills/wix-replatform/lib/orchestration-state.js +455 -0
  137. package/skills/wix-replatform/lib/progress-log.js +224 -0
  138. package/skills/wix-replatform/lib/progress-log.sh +140 -0
  139. package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
  140. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
  141. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
  142. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
  143. package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
  144. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
  145. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
  146. package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
  147. package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
  148. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
  149. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
  150. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
  151. package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
  152. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  153. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
  154. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
  155. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
  156. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
  157. package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
  158. package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
  159. package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
  160. package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
  161. package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
  162. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
  163. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
  164. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
  165. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
  166. package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
  167. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
  168. package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
  169. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
  170. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
  171. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
  172. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
  173. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
  174. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
  175. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
  176. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
  177. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
  178. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
  179. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
  180. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
  181. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
  182. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
  183. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
  184. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
  185. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
  186. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
  187. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
  188. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
  189. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
  190. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
  191. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
  192. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
  193. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
  194. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
  195. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
  196. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
  197. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
  198. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
  199. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
  200. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
  201. package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
  202. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
  203. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
  204. package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
  205. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
  206. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
  207. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
  208. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
  209. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
  210. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
  211. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
  212. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
  213. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
  214. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
  215. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
  216. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
  217. package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
  218. package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
  219. package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
  220. package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
  221. package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
  222. package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
  223. package/skills/wix-vibe-headless/SKILL.md +54 -25
  224. package/skills/wix-vibe-headless/install/deploy.cjs +95 -0
  225. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
  226. package/skills/wix-vibe-headless/platforms/README.md +26 -0
  227. package/skills/wix-vibe-headless/platforms/base44.md +177 -0
  228. package/skills/wix-vibe-headless/platforms/generic.md +122 -0
  229. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +230 -119
  230. package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
  231. package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
  232. package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
  233. package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
  234. package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
  235. package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
  236. package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
  237. package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
  238. package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
  239. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
  240. package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
  241. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +260 -145
  242. package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
  243. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
  244. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
  245. package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
  246. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
  247. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
  248. package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
  249. package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
  250. package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
  251. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
  252. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +90 -12
  253. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
  254. package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
  255. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +169 -147
  256. package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
  257. package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
  258. package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
  259. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
  260. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +228 -131
  261. package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
  262. package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
  263. package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
  264. package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
  265. package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
  266. package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
  267. package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
  268. package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
  269. package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
  270. package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
  271. package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
  272. package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
  273. package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +3 -2
  274. package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
  275. package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
  276. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +276 -188
  277. package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
  278. package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
  279. package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
  280. package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
  281. package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
  282. package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
  283. package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
  284. package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
  285. package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
  286. package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
  287. package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
  288. package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
  289. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +233 -104
  290. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
  291. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
  292. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
  293. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
  294. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
  295. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
  296. package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
  297. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
  298. package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
  299. package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
  300. package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
  301. package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +84 -55
  302. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
  303. package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
  304. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +240 -117
  305. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
  306. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
  307. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
  308. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
  309. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
  310. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
  311. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
  312. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
  313. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
  314. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
  315. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
  316. package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
  317. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +248 -124
  318. package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
  319. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
  320. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
  321. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
  322. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
  323. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
  324. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
  325. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
  326. package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
  327. package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
  328. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
  329. package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
  330. package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
  331. package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
  332. package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +6 -0
  333. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +263 -148
  334. package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
  335. package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
  336. package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
  337. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
  338. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
  339. package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
  340. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
  341. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
  342. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
  343. package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
  344. package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
  345. package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
  346. package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
  347. package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +25 -2
  348. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
  349. package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +299 -0
  350. /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
  351. /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
  352. /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
  353. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
  354. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
  355. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-reservations.js → app/rest/wix-restaurants-reservations.js} +0 -0
@@ -0,0 +1,176 @@
1
+ ---
2
+ name: "Create an Event with the Wix Events API"
3
+ description: "Creates an event with the Wix Events V3 API — the required request body, ISO-8601 date and time settings, venue/online/TBD location, RSVP vs ticketed registration, guest capacity, and short vs rich-text descriptions. Covers the exact field shapes and the API's misleading validation messages. Use when the user wants to create an event, set its date, location, description or guest limit, or choose between RSVP and ticketing."
4
+ ---
5
+
6
+ # Create an Event with the Wix Events API
7
+
8
+ ## Goal
9
+ Create an event on a Wix site — one-off or recurring, RSVP or ticketed — with the Wix Events
10
+ V3 API. To publish, cancel, clone, count, add tickets or set up a recurring series, see
11
+ [Manage Wix Events](manage-wix-events.md).
12
+
13
+ ## First: pick the right "Events" API
14
+
15
+ Several unrelated Wix APIs are called "Events". Routing to the wrong one is the most expensive
16
+ mistake on this surface, because the wrong API answers plausibly for several calls before
17
+ failing.
18
+
19
+ | The user means | API | Base path |
20
+ | --- | --- | --- |
21
+ | A public event guests attend — gala, concert, workshop, meetup | **Wix Events V3** — this recipe | `/events/v3/events` |
22
+ | A bookable session on a staff or service calendar | Calendar Events V3 | `/calendar/v3/events` |
23
+ | An entry on the marketing plan calendar | Marketing Calendar Event V1 | `/promote/marketing-plan-service/v1/events` |
24
+ | An automation trigger | Triggered Events | `/automations/v1/events/report` |
25
+
26
+ A recurring *class or course that guests book* is Bookings, not Wix Events. A recurring
27
+ *event series guests attend* is Wix Events.
28
+
29
+ ## Prerequisite — the Wix Events app must be installed
30
+
31
+ Every `/events/v3` call against a site without the app returns:
32
+
33
+ ```
34
+ 428 {"message":"Events app not installed for metaSiteId=...",
35
+ "details":{"applicationError":{"code":"WIX_EVENTS_APP_NOT_INSTALLED"}}}
36
+ ```
37
+
38
+ Install it with appDefId `140603ad-af8d-84a5-2c80-a0f60cb47351` — see
39
+ [Install Wix Apps](../app-installation/install-wix-apps.md). Confirm with the user first unless
40
+ they already asked for the event to be created.
41
+
42
+ ## Create the event
43
+
44
+ ```bash
45
+ curl -X POST 'https://www.wixapis.com/events/v3/events' \
46
+ -H 'Content-Type: application/json' \
47
+ -H 'Authorization: <AUTH>' \
48
+ --data-binary '{
49
+ "event": {
50
+ "title": "Summer Gala",
51
+ "location": { "name": "Grand Hall", "type": "VENUE" },
52
+ "dateAndTimeSettings": {
53
+ "startDate": "2026-09-15T19:00:00.000Z",
54
+ "endDate": "2026-09-15T22:00:00.000Z",
55
+ "timeZoneId": "America/New_York"
56
+ },
57
+ "registration": { "initialType": "RSVP" }
58
+ },
59
+ "draft": true
60
+ }'
61
+ ```
62
+
63
+ `title`, `location`, `dateAndTimeSettings` and `registration.initialType` are all required.
64
+ Drop `"draft": true` to create the event already published; a draft has `status: "DRAFT"` and
65
+ is invisible on the site until published with `POST /events/v3/events/{eventId}/publish`
66
+ (empty body), which moves it to `UPCOMING`.
67
+
68
+ ## Date and time
69
+
70
+ **`startDate` and `endDate` are ISO-8601 strings, not `{seconds, nanos}` objects.**
71
+
72
+ The spec types these fields as `string` / `format: date-time` but also carries a pointer to the
73
+ `google.protobuf.Timestamp` message, whose fields are `seconds` and `nanos`. That message
74
+ describes the *internal* representation and must not be sent — it fails with
75
+ `400 {"message":"Expected a string."}`. This applies to every date-time field across the Wix
76
+ APIs, not only Events.
77
+
78
+ | Rule | If broken |
79
+ | --- | --- |
80
+ | `startDate` / `endDate` are ISO-8601 strings | `400 Expected a string.` |
81
+ | `endDate` is required | `400 endDate.isDefined must be true, event cannot have negative duration` |
82
+ | `timeZoneId` is required, in [TZ database](https://www.iana.org/time-zones) form (`America/New_York`) | `400 getTimeZoneId is not supported` |
83
+
84
+ > The `timeZoneId` error reads as though the field is unsupported. It is not — it means the
85
+ > field is **missing**. Add `timeZoneId`; do not remove it.
86
+
87
+ **Date to be announced:** send `dateAndTimeSettings` as
88
+ `{ "dateAndTimeTbd": true, "dateAndTimeTbdMessage": "Date coming soon" }` and nothing else. The
89
+ message is mandatory — omitting it fails with `400 getScheduleTbdMessage must not be a blank`.
90
+
91
+ ## Location
92
+
93
+ `location.type` is `VENUE` or `ONLINE`. There is no `TBD` type — a to-be-announced location is
94
+ a `VENUE` with `locationTbd: true`.
95
+
96
+ | Body | Result |
97
+ | --- | --- |
98
+ | `{ "name": "Grand Hall", "type": "VENUE" }` | Accepted |
99
+ | `{ "name": "Zoom", "type": "ONLINE" }` | Accepted |
100
+ | `{ "name": "To be announced", "locationTbd": true }` | Accepted — `type` defaults to `VENUE` |
101
+ | `{ "locationTbd": true }` | `400 Event location is invalid ... Location address must not be a blank` |
102
+ | `{ "name": "TBA", "type": "TBD", "locationTbd": true }` | `400 type enum must be in [VENUE(0), ONLINE(1)]` |
103
+
104
+ For a real street address, add an `address` object:
105
+
106
+ ```json
107
+ "location": {
108
+ "name": "Javits Center", "type": "VENUE",
109
+ "address": {
110
+ "country": "US", "subdivision": "US-NY", "city": "New York", "postalCode": "10001",
111
+ "streetAddress": { "number": "429", "name": "11th Ave" }
112
+ }
113
+ }
114
+ ```
115
+
116
+ `subdivision` is the ISO-3166-2 code (`US-NY`), and the API fills in `formattedAddress` and
117
+ `geocode` on the response. A `VENUE` with no `address` comes back with `locationTbd: true` set
118
+ by the API whether or not you sent it.
119
+
120
+ ## Registration type and capacity
121
+
122
+ `initialType` must be nested under `registration`; at the root of `event` it is treated as
123
+ omitted and fails with the same error. Accepted values are **`RSVP`**, **`TICKETING`**,
124
+ `EXTERNAL` and `NONE`.
125
+
126
+ > The API's error text for this field advertises `[RSVP,TICKETS,RSVP_AND_TICKETS]`. Those
127
+ > values do not work — `TICKETS` is rejected. Use `TICKETING`.
128
+
129
+ `initialType` is immutable: an `RSVP` event can never become a `TICKETING` event or vice versa
130
+ (either can later become `EXTERNAL` or `NONE` via `registration.type`). Choose correctly at
131
+ creation time — "people should register by RSVP, not tickets" means `RSVP`.
132
+
133
+ **Guest limit.** For an RSVP event, the cap is `registration.rsvp.limit`:
134
+
135
+ ```json
136
+ "registration": { "initialType": "RSVP", "rsvp": { "limit": 30 } }
137
+ ```
138
+
139
+ A `limit` placed directly on `registration` is **silently ignored** — the event is created with
140
+ no cap and no error. Set `waitlistEnabled: true` alongside it to let guests join a waitlist once
141
+ the limit is reached. For a ticketed event the cap is per ticket type, via `initialLimit` on the
142
+ ticket definition — see [Manage Wix Events](manage-wix-events.md).
143
+
144
+ ## Description — two different fields
145
+
146
+ | Field | Type | Use for |
147
+ | --- | --- | --- |
148
+ | `shortDescription` | plain string, max 500 | A one-line description under the event title |
149
+ | `description` | Ricos rich content object | The formatted body on the event page |
150
+
151
+ A plain sentence belongs in `shortDescription`. Sending a string to `description` fails with
152
+ `400 {"message":"Expected an object"}` — it takes a Ricos `{ "nodes": [...] }` tree, as built in
153
+ [Rich Content](../rich-content/author-ricos-rich-content.md):
154
+
155
+ ```json
156
+ "description": { "nodes": [ { "type": "PARAGRAPH", "id": "p1", "paragraphData": {},
157
+ "nodes": [ { "type": "TEXT", "id": "", "nodes": [],
158
+ "textData": { "text": "Monthly meetup to discuss a new book.", "decorations": [] } } ] } ] }
159
+ ```
160
+
161
+ `shortDescription` is only returned when the request asks for `"fields": ["DETAILS"]`, and
162
+ `description` only with `"fields": ["TEXTS"]`. Both are stored regardless.
163
+
164
+ ## Gotchas & troubleshooting
165
+
166
+ - **An invalid enum value reports as a missing one.** Sending a value outside an enum returns
167
+ `<field> value is required` rather than "invalid value". If a field you *did* send is reported
168
+ as required, suspect the value, not its presence.
169
+ - **Error text names internal accessors, not request fields.** `getTimeZoneId`,
170
+ `getScheduleTbdMessage` and `endDate.isDefined` each map to the plain field of the same name.
171
+ - `title` is required, min 1 and max 120 characters. There is no separate name field.
172
+
173
+ ## Related APIs
174
+ - **Wix Events V3**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/events-v3)
175
+ - [Manage Wix Events](manage-wix-events.md) — tickets, publish, cancel, clone, recurring, count
176
+ - [Install Wix Apps](../app-installation/install-wix-apps.md) — the `428` pre-flight
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: "Manage Wix Events — Tickets, Publishing, Cloning and Recurring Series"
3
+ description: "Manages existing events with the Wix Events V3 API — ticket definitions and pricing (fixed price, free, donation, multiple tiers), publishing a draft, cancelling, deleting, cloning, updating an event's date or details, counting events, and creating a recurring series. Use when the user wants to add or price tickets, publish or cancel an event, duplicate an event, move an event's date, count their events, or set up a repeating event."
4
+ ---
5
+
6
+ # Manage Wix Events — Tickets, Publishing, Cloning and Recurring Series
7
+
8
+ ## Goal
9
+ Operate on events that already exist: sell tickets, publish, cancel, delete, clone, update,
10
+ count, and build recurring series. To create the event in the first place — including its date,
11
+ location, description and guest limit — see [Create an Event](create-wix-event.md).
12
+
13
+ ## Prerequisite — the Wix Events app must be installed
14
+
15
+ Every endpoint here returns `428 WIX_EVENTS_APP_NOT_INSTALLED` against a site without the app.
16
+ Install it first — do not guess the install path, which is easy to get wrong:
17
+
18
+ ```bash
19
+ curl -X POST 'https://www.wixapis.com/apps-installer-service/v1/app-instance/install' \
20
+ -H 'Content-Type: application/json' \
21
+ -H 'Authorization: <AUTH>' \
22
+ --data-binary '{
23
+ "tenant": { "tenantType": "SITE", "id": "<SITE_ID>" },
24
+ "appInstance": { "appDefId": "140603ad-af8d-84a5-2c80-a0f60cb47351" }
25
+ }'
26
+ ```
27
+
28
+ `appDefId` nests under `appInstance`, not at the root — at the root it fails with
29
+ `400 appInstance must not be empty`. See [Install Wix Apps](../app-installation/install-wix-apps.md)
30
+ for the full flow.
31
+
32
+ ## Ticket definitions
33
+
34
+ Ticket definitions belong to events created with `"initialType": "TICKETING"`. Tickets are a
35
+ separate API; up to 100 definitions per event.
36
+
37
+ ```bash
38
+ curl -X POST 'https://www.wixapis.com/events/v3/ticket-definitions' \
39
+ -H 'Content-Type: application/json' \
40
+ -H 'Authorization: <AUTH>' \
41
+ --data-binary '{
42
+ "ticketDefinition": {
43
+ "eventId": "<EVENT_ID>",
44
+ "name": "General Admission",
45
+ "pricingMethod": { "fixedPrice": { "value": "25.00", "currency": "USD" } },
46
+ "feeType": "FEE_ADDED_AT_CHECKOUT",
47
+ "initialLimit": 100
48
+ }
49
+ }'
50
+ ```
51
+
52
+ | To create | `pricingMethod` |
53
+ | --- | --- |
54
+ | A fixed-price ticket | `{ "fixedPrice": { "value": "25.00", "currency": "USD" } }` |
55
+ | A free ticket | `{ "fixedPrice": { "value": "0", "currency": "USD" } }` |
56
+ | A donation / pay-what-you-want ticket, with a minimum | `{ "guestPrice": { "value": "5.00", "currency": "USD" } }` |
57
+
58
+ Easy to get wrong:
59
+
60
+ - **`feeType` is required** — `FEE_ADDED_AT_CHECKOUT` (fee on top of the price) or
61
+ `FEE_INCLUDED` (fee absorbed into it).
62
+ - **`value` is a string.** `"value": 10` fails with `400 Unexpected value for field value`.
63
+ - **There is no writable `free` flag.** `pricingMethod.free` is read-only, computed from the
64
+ price; sending `{"free": true}` fails with `value fixedPrice or guestPrice or pricingOptions
65
+ must not be empty`.
66
+ - **The quantity field is `initialLimit`**, not `initialQuantity`. Omit it for unlimited tickets.
67
+ - `limitPerCheckout` is read-only — it cannot be set on create.
68
+ - `name` is capped at 30 characters, `description` at 500.
69
+
70
+ **Multiple tiers** — call the endpoint once per tier with the same `eventId`. For "General
71
+ Admission at $20 and VIP at $50", that is two calls, each with its own `name`, `fixedPrice` and
72
+ `initialLimit`. There is no bulk-create for ticket definitions.
73
+
74
+ ## Publish, cancel and delete
75
+
76
+ | Action | Call | Resulting `status` |
77
+ | --- | --- | --- |
78
+ | Publish a draft | `POST /events/v3/events/{eventId}/publish` | `UPCOMING` |
79
+ | Cancel | `POST /events/v3/events/{eventId}/cancel` | `CANCELED` |
80
+ | Delete | `DELETE /events/v3/events/{eventId}` | — |
81
+
82
+ Publish and cancel take an empty body. Publishing is irreversible — a published event cannot
83
+ return to `DRAFT`. Cancelling closes registration but keeps the event; deleting removes it.
84
+
85
+ ## Clone an event
86
+
87
+ `POST /events/v3/events/{eventId}/clone` with an empty body copies the registration form,
88
+ notifications, translations and ticket configuration.
89
+
90
+ > **The clone does not keep the original's date.** Its start date is reset to roughly 14 days
91
+ > from now, and it comes back as a `DRAFT`. If the user wanted a duplicate on a particular date,
92
+ > follow the clone with an update, then publish it.
93
+
94
+ ## Update an event
95
+
96
+ `PATCH /events/v3/events/{event.id}` with the fields to change nested under `event`:
97
+
98
+ ```bash
99
+ curl -X PATCH 'https://www.wixapis.com/events/v3/events/<EVENT_ID>' \
100
+ -H 'Content-Type: application/json' \
101
+ -H 'Authorization: <AUTH>' \
102
+ --data-binary '{
103
+ "event": {
104
+ "dateAndTimeSettings": {
105
+ "startDate": "2026-10-15T19:00:00.000Z",
106
+ "endDate": "2026-10-15T22:00:00.000Z",
107
+ "timeZoneId": "America/New_York"
108
+ }
109
+ }
110
+ }'
111
+ ```
112
+
113
+ The Events API takes **no field mask and no `revision`** on update — send only the fields you
114
+ are changing. Send `dateAndTimeSettings` complete when moving a date: `startDate`, `endDate` and
115
+ `timeZoneId` together, since the same required-field rules apply as on create.
116
+
117
+ Ticket definitions are the exception — `PATCH /events/v3/ticket-definitions/{ticketDefinition.id}`
118
+ *does* require the current `revision`, which increments on every update.
119
+
120
+ ## Count events
121
+
122
+ `POST /events/v3/events/query` and read `pagingMetadata.total`:
123
+
124
+ ```json
125
+ { "query": { "paging": { "limit": 100 } } }
126
+ ```
127
+
128
+ Query Events returns only published events — **drafts are excluded from both the results and the
129
+ total**. Create with `"draft": false`, or publish first, if the count is meant to include the
130
+ event you just made.
131
+
132
+ `POST /events/v3/events/count-by-status` exists, but an empty request body returns empty `facets`
133
+ even when the site has events, so it is not the way to answer "how many events do I have".
134
+
135
+ ## Recurring events
136
+
137
+ Wix Events has **no recurrence rule** — no `RRULE`, no "weekly" pattern. Calculate every
138
+ occurrence date yourself and list them all (up to 1000), alongside the normal top-level
139
+ `startDate` / `endDate` / `timeZoneId`:
140
+
141
+ ```json
142
+ "dateAndTimeSettings": {
143
+ "startDate": "2026-10-20T18:00:00.000Z",
144
+ "endDate": "2026-10-20T19:00:00.000Z",
145
+ "timeZoneId": "America/New_York",
146
+ "recurringEvents": {
147
+ "individualEventDates": [
148
+ { "startDate": "2026-10-20T18:00:00.000Z", "endDate": "2026-10-20T19:00:00.000Z", "timeZoneId": "America/New_York" },
149
+ { "startDate": "2026-10-27T18:00:00.000Z", "endDate": "2026-10-27T19:00:00.000Z", "timeZoneId": "America/New_York" }
150
+ ]
151
+ }
152
+ }
153
+ ```
154
+
155
+ For "a weekly event starting next week", generate the dates yourself — pick a sensible horizon
156
+ (a few months) and say how many occurrences you created. The event returns
157
+ `recurrenceStatus: "RECURRING"`. Each occurrence is an independent event with its own ID,
158
+ updatable and deletable on its own; all share a generated `recurringEvents.categoryId`. Query by
159
+ that `categoryId` to retrieve the whole series.
160
+
161
+ ## Gotchas & troubleshooting
162
+
163
+ - **An invalid enum value reports as a missing one.** A value outside an enum returns
164
+ `<field> value is required` rather than "invalid value" — true for `feeType` and
165
+ `registration.initialType`. If a field you *did* send is reported as required, suspect the
166
+ value, not its presence.
167
+ - Dates are always ISO-8601 strings, never `{seconds, nanos}` — see
168
+ [Create an Event](create-wix-event.md).
169
+
170
+ ## Related APIs
171
+ - **Wix Events V3**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/events-v3)
172
+ - **Ticket Definitions V3**: [REST](https://dev.wix.com/docs/api-reference/business-solutions/events/event-management/ticket-definitions-v3)
173
+ - **Event Guests**: `POST /events/v2/guests/query` — who registered
174
+ - [Create an Event](create-wix-event.md) — the create body, dates, location, capacity
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: "Forms Dashboard Navigation"
3
+ description: "Builds direct links to Wix Forms dashboard pages on manage.wix.com — the forms list, the submissions table, the form builder for a specific form, standalone forms, templates, and forms settings. Pairs each main Forms entity (form, submission) with its read API so you can fetch an entity and hand back a 'view it in your dashboard' link. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
4
+ ---
5
+
6
+ # Forms Dashboard Navigation
7
+
8
+ Build direct links into the Wix Forms pages of a site's dashboard. For the general URL contract (metaSiteId, fallbacks, redirects), see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md).
9
+
10
+ ## Main Pages
11
+
12
+ | Page | URL after `/dashboard/{metaSiteId}/` | What it manages |
13
+ |---|---|---|
14
+ | Forms list | `wix-forms` | All forms on the site |
15
+ | Form builder | `wix-forms/form/{formId}` | Edit a specific form (fields, rules, submit settings) |
16
+ | Standalone form | `wix-forms/standalone-form` | Create a standalone form (has its own shareable page, not embedded in a site page) |
17
+ | Submissions | `wix-forms-and-payments/submissions` | Submissions table across forms |
18
+ | Templates | `wix-forms-and-payments/templates` | Create a form from a template |
19
+ | Forms settings | `wix-forms-and-payments/settings` | Forms-level settings |
20
+
21
+ Two URL namespaces appear here because the forms management pages and the form builder are registered by two apps (`14ce1214-b278-a7e4-1373-00cebd1bef7c` and `225dd912-7dea-4738-8688-4b8c6955ffc2`); `wix-forms` also redirects to the forms list, so it's the stable entry point.
22
+
23
+ Entity-specific links (`{formId}`) accept the entity's ID appended as an extra path segment. Query params can follow.
24
+
25
+ ## Pairing Entities with Their Read APIs
26
+
27
+ Fetch the entity via REST, then link the matching dashboard page. All calls use `https://www.wixapis.com` with an `Authorization` header. Dashboard forms use the `wix.form_app.form` namespace.
28
+
29
+ | Entity | Read API | Dashboard link |
30
+ |---|---|---|
31
+ | Form | `GET /form-schema-service/v4/forms` · `POST /form-schema-service/v4/forms/query` · `GET /form-schema-service/v4/forms/{formId}` | `wix-forms/form/{formId}` (edit) or `wix-forms` (list) |
32
+ | Submission | `POST /form-submission/v4/submissions/namespace/query` (filter must include the `namespace`) · `GET /form-submission/v4/submissions/{submissionId}` | `wix-forms-and-payments/submissions` |
33
+
34
+ Example — after creating a form, hand back its links:
35
+
36
+ ```
37
+ Created "Contact Form".
38
+ Edit it here: https://manage.wix.com/dashboard/{metaSiteId}/wix-forms/form/{formId}
39
+ See submissions: https://manage.wix.com/dashboard/{metaSiteId}/wix-forms-and-payments/submissions
40
+ ```
41
+
42
+ ## Notes
43
+
44
+ - Creating forms via the [Create Form](./create-form.md) recipe (Form Schemas API) makes them appear in the forms list above.
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: "Get Paid Dashboard Navigation"
3
+ description: "Builds direct links to Wix payments and invoicing dashboard pages on manage.wix.com — payment links, invoices (list, create, settings), recurring invoices, and the accept-payments settings page. Pairs each main get-paid entity with its read API so you can fetch an entity and hand back a 'view it in your dashboard' link. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
4
+ ---
5
+
6
+ # Get Paid Dashboard Navigation
7
+
8
+ Build direct links into the payments and invoicing pages of a site's dashboard. For the general URL contract (metaSiteId, fallbacks, redirects), see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md).
9
+
10
+ Get-paid pages are split across **four apps** with four URL namespaces:
11
+
12
+ - **Pay Links** (`324cf725-53d9-4bb2-b8f6-0c8ec9a77f45`) — payment links. Routes under `pay-links/`.
13
+ - **Wix Invoices** (`13ee94c1-b635-8505-3391-97919052c16f`) — invoices and price quotes. Routes under `wix-invoices/`.
14
+ - **Recurring Invoices** (`35aec784-bbec-4e6e-abcb-d3d724af52cf`) — subscription invoices. Routes under `recurring-invoices/`.
15
+ - **Payments** (`14bca956-e09f-f4d6-14d7-466cb3f09103`) — the accept-payments settings. Routes under `wix-cashier/`.
16
+
17
+ ## Main Pages
18
+
19
+ | Page | URL after `/dashboard/{metaSiteId}/` | What it manages |
20
+ |---|---|---|
21
+ | Payment links | `pay-links` | All payment links |
22
+ | Invoices list | `wix-invoices` | All invoices |
23
+ | New invoice | `wix-invoices/invoice/new` | Create an invoice |
24
+ | Invoice items & services | `wix-invoices/products/list` | Reusable line items for invoices |
25
+ | Invoice reports | `wix-invoices/reports` | Revenue / tax summaries |
26
+ | Invoices settings | `wix-invoices/settings` | Numbering, customization, automations, pay links, price quotes |
27
+ | Recurring invoices | `recurring-invoices` | Subscription invoices list |
28
+ | New recurring invoice | `recurring-invoices/form` | Create a recurring invoice |
29
+ | Accept payments | `wix-cashier/payments` | Payment methods and provider settings |
30
+
31
+ Older links (`payment-links`, `invoices`, `invoices/create`, `payments`) redirect to the current routes.
32
+
33
+ ## Pairing Entities with Their Read APIs
34
+
35
+ Fetch the entity via REST, then link the matching dashboard page. All calls use `https://www.wixapis.com` with an `Authorization` header.
36
+
37
+ | Entity | Read API | Dashboard link |
38
+ |---|---|---|
39
+ | Payment link | `POST /payment-links/v1/payment-links/query` · `GET /payment-links/v1/payment-links/{paymentLinkId}` | `pay-links` |
40
+ | Invoice | Invoices API (Query Invoices) | `wix-invoices` |
41
+ | Payment provider setup | Wix Payments Account API (`POST /payments/v1/wix-payments-account/connect` for onboarding status) | `wix-cashier/payments` |
42
+
43
+ Example — after creating a payment link:
44
+
45
+ ```
46
+ Created a $50 payment link for "Consultation".
47
+ Manage your payment links here: https://manage.wix.com/dashboard/{metaSiteId}/pay-links
48
+ ```
49
+
50
+ ## Notes
51
+
52
+ - Wix Payments account-level pages (payouts, balance, disputes) are part of the provider's own dashboard flow and aren't stable site-dashboard routes — link `wix-cashier/payments` for anything payment-provider related.
@@ -10,12 +10,19 @@ This recipe covers the setup flow needed before creating payment links or collec
10
10
 
11
11
  Before connecting Wix Payments, collect and confirm:
12
12
 
13
- 1. Terms acceptance: https://www.wix.com/about/terms-of-payments
13
+ 1. Terms acceptance: https://support.wix.com/en/article/wix-payments-terms-of-service
14
14
  2. First name
15
15
  3. Last name
16
16
  4. Product/service description (minimum meaningful business description)
17
+ 5. The site's country — if not already known, get it from `properties.locale.country` via `GET https://www.wixapis.com/site-properties/v4/properties`
17
18
 
18
- ## Step 2: Connect Wix Payments account
19
+ ## Step 2: Check country support
20
+
21
+ Wix Payments self-serve connect is currently supported for these countries: `US, CA, GB, ES, AT, BE, FI, DE, IT, NL, PT, CH, LT`.
22
+
23
+ If the site's country is not on this list, stop here — do not call connect. Tell the user self-serve connect isn't available yet for their country, and point them to the dashboard instead (Settings → Accept Payments).
24
+
25
+ ## Step 3: Connect Wix Payments account
19
26
 
20
27
  Call:
21
28
 
@@ -27,12 +34,13 @@ Call:
27
34
  "firstName": "<USER_FIRST_NAME>",
28
35
  "lastName": "<USER_LAST_NAME>",
29
36
  "tosAccepted": true,
30
- "productDescription": "<PRODUCT_DESCRIPTION>"
37
+ "productDescription": "<PRODUCT_DESCRIPTION>",
38
+ "country": "<COUNTRY_CODE verified in Step 2>"
31
39
  }
32
40
  }
33
41
  ```
34
42
 
35
- ## Step 3: Handle common setup blockers
43
+ ## Step 4: Handle common setup blockers
36
44
 
37
45
  ### Location-related failure
38
46
 
@@ -43,15 +51,30 @@ If setup fails due to location details, update the business location and retry:
43
51
 
44
52
  ### Already connected
45
53
 
46
- If the API returns an "already connected" style response, skip reconnect and continue with onboarding checks.
54
+ If the account is already connected, the API returns `HTTP 500` with a body like:
55
+
56
+ ```json
57
+ {
58
+ "message": "payments already connected",
59
+ "details": { "applicationError": { "code": "INTERNAL_ERROR" } }
60
+ }
61
+ ```
62
+
63
+ Match on the `message` text, not on the `code` alone — `INTERNAL_ERROR` is a generic code reused for unrelated failures too. On this match, skip reconnect and continue with onboarding checks.
47
64
 
48
- ## Step 4: Complete dashboard onboarding
65
+ ### Unsupported country
66
+
67
+ If `account.country` isn't one of the countries listed in Step 2, expect an `INVALID_ARGUMENT`-style `HTTP 400` error. Step 2's own check should make hitting this rare — don't retry the call with a different country value; tell the user the same thing Step 2 would have.
68
+
69
+ ## Step 5: Complete dashboard onboarding
49
70
 
50
71
  Connecting the account is not always the final step. To receive payments, the site owner may still need to complete Wix Payments onboarding in the site dashboard.
51
72
 
73
+ Connecting Wix Payments and being able to accept real checkout payments are two separate gates: the site may also need a premium eCommerce plan (Settings → Plans). Mention this even after a successful connect.
74
+
52
75
  ## Important Notes
53
76
 
54
77
  1. Never invent or assume user identity/business details.
55
- 2. Always obtain explicit user consent before calling connect.
78
+ 2. Always obtain explicit user consent before calling connect — this creates a real Wix Payments account and records a legally-binding Terms of Service acceptance under the name provided.
56
79
  3. Use the exact accepted values provided by the user.
57
80
  4. Verify readiness by testing a real payment flow (for example, create payment link) after setup.
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: "Retrieve Google Ads Billing and Payment Details"
3
+ description: "Retrieves billing and payment details for a Wix site's Google Ads account: the current billing period's ad spend (usage), the Wix service fee, the total charge, any promotional coupon adjustment, the billing period dates, and the account's credit balance (positive = available credits, negative = outstanding debt not yet charged). Also explains reading current vs remaining budget from the account object. Use when the user asks 'how much have I spent on Google Ads', 'what's my next Google Ads charge', 'show my ad billing', 'do I have ad credits left', 'why was I charged', or 'upcoming Google Ads payment'. Requires an existing Google Ads account. REST base https://www.wixapis.com/google-ads/v1."
4
+ ---
5
+ # RECIPE: Retrieve Google Ads Billing and Payment Details
6
+
7
+ Report what a site owner will be charged for Google Ads: ad spend, the Wix service fee, coupon adjustments, the total, the billing period, and the account's credit balance.
8
+
9
+ Base URL: `https://www.wixapis.com/google-ads/v1`. `<AUTH>` is the `Authorization` header. This endpoint is read-only.
10
+
11
+ **Prerequisite:** a Google Ads account must exist (`ACCOUNT_NOT_FOUND` → run [install-and-create-account](install-and-create-account.md)).
12
+
13
+ ---
14
+
15
+ ## Get payment details
16
+
17
+ Billing is calculated from cached subscription data (not fetched live from Google), and the charge calculation is heavy — this endpoint has a **30-second SLA**, so allow time and don't retry prematurely.
18
+
19
+ ```bash
20
+ curl -X GET 'https://www.wixapis.com/google-ads/v1/payment-details' -H 'Authorization: <AUTH>'
21
+ ```
22
+
23
+ ```json
24
+ {
25
+ "paymentDetails": {
26
+ "currency": "USD",
27
+ "upcomingPayments": [
28
+ {
29
+ "usageAmount": "123.45",
30
+ "wixServiceFee": "12.35",
31
+ "totalAmount": "135.80",
32
+ "billingPeriod": { "from": "2026-03-01", "to": "2026-03-31" },
33
+ "couponAdjustmentAmount": "0.00"
34
+ }
35
+ ],
36
+ "creditBalance": "0.00"
37
+ }
38
+ }
39
+ ```
40
+
41
+ **Reading the response:**
42
+ - `currency` — the account's billing currency; all amounts here are in it.
43
+ - `upcomingPayments[]` — the current billing period breakdown (up to 2 entries). Per entry:
44
+ - `usageAmount` — ad spend for the period, **excluding** the Wix fee.
45
+ - `wixServiceFee` — the Wix platform fee.
46
+ - `couponAdjustmentAmount` — discount applied from a promotional coupon.
47
+ - `totalAmount` — what will actually be charged: `usageAmount + wixServiceFee − couponAdjustmentAmount`.
48
+ - `billingPeriod` — `from`/`to` dates (YYYY-MM-DD).
49
+ - `creditBalance` — the site's credits. **Positive** = credits available (e.g. from an incentive) that offset upcoming charges; **negative** = outstanding debt not yet charged. The final amount can shift slightly once the charge is processed.
50
+
51
+ When summarizing for the user, lead with `totalAmount` and the billing period, then break out spend vs fee, and flag a non-zero `creditBalance` (credits remaining, or debt owed).
52
+
53
+ > Note: an older `monthlyPayments` field is deprecated in favor of `upcomingPayments` — always read `upcomingPayments`.
54
+
55
+ ---
56
+
57
+ ## Budget vs. billing — a related but different view
58
+
59
+ Payment details cover *charges*. The **account object** (from `GET /v1/accounts/current-site`, see [install-and-create-account](install-and-create-account.md)) carries the *ad-budget* view:
60
+ - `currentBudget` — remaining ad budget/credit (negative = debt not yet charged).
61
+ - `spentBudget` — total spent on ads so far.
62
+
63
+ Use payment details for "what will I be charged and when"; use the account's budget fields for "how much ad budget is left."
64
+
65
+ ---
66
+
67
+ ## Error handling
68
+
69
+ | Symptom | Cause | Fix |
70
+ | --- | --- | --- |
71
+ | `NOT_FOUND` / `ACCOUNT_NOT_FOUND` | No Google Ads account for the site | Run [install-and-create-account](install-and-create-account.md) |
72
+ | Slow response (up to ~30s) | Charge calculation SLA | Wait; don't retry prematurely |
73
+ | `upcomingPayments` empty | No charges accrued yet this period | Report zero upcoming charges; check `creditBalance` for credits/debt |
74
+ | Negative `creditBalance` | Outstanding debt not yet charged | Explain it's owed and will be charged; not an error |
75
+
76
+ ## References
77
+
78
+ - [Payment Details Service introduction](https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/payment-details-v1/introduction)
79
+ - [Get Payment Details](https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/payment-details-v1/get-payment-details)
80
+ - [Account Service](https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/google-account-v1/introduction)