{"version":1,"pages":[{"id":"cQ18cgW1qc8S1a7xuELq","title":"Welcome!","pathname":"/","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"ASJUMPNfljTDN6EhmjTD","title":"Quick Start","pathname":"/quick-start","siteSpaceId":"sitesp_Qf2qj","description":"Create a Raven, paste its signed storefront configuration, and send a direct app-proxy request."},{"id":"9XvXi2k505ivmw3jFqBn","title":"MCP overview","pathname":"/overview","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"erbZdgR9tzMjaBhcKw5c","title":"Client setup","pathname":"/overview/client-setup","siteSpaceId":"sitesp_Qf2qj","description":"","breadcrumbs":[{"label":"MCP overview"}]},{"id":"glxSUklZbS4ALwi7KZNz","title":"Tools and permissions","pathname":"/overview/tools-reference","siteSpaceId":"sitesp_Qf2qj","description":"","breadcrumbs":[{"label":"MCP overview"}]},{"id":"YejQg7RmnhNwR0khe7dH","title":"Workflows and receipts","pathname":"/overview/workflows","siteSpaceId":"sitesp_Qf2qj","description":"","breadcrumbs":[{"label":"MCP overview"}]},{"id":"pKqp5a3OqiZSwLKBoult","title":"Errors, limits, and security","pathname":"/overview/errors-and-limits","siteSpaceId":"sitesp_Qf2qj","description":"","breadcrumbs":[{"label":"MCP overview"}]},{"id":"3jEbwVJLTFJ2rFV8Jqzw","title":"Raven identity","pathname":"/raven-identity","siteSpaceId":"sitesp_Qf2qj","description":"What identifies a raven, why two ravens can share a key, and how that shapes the code FieldsRaven generates."},{"id":"IWVYIoclbKfd0MY8ScUw","title":"Verify a submission","pathname":"/verify-submission","siteSpaceId":"sitesp_Qf2qj","description":"Confirm from your theme that an asynchronous metafield write actually landed, using the receipt returned by a storefront submission."},{"id":"nXTj3Kj3R5UBP1JNBQAn","title":"App embeds","pathname":"/app-embeds","siteSpaceId":"sitesp_Qf2qj","description":"Ready-made theme blocks you enable in the theme customizer, no code required."},{"id":"KtOyVeYvy58OWJWhlyYo","title":"Sitemap manager","pathname":"/app-embeds/sitemap-manager","siteSpaceId":"sitesp_Qf2qj","description":"Hide a resource from search engines and sitemaps in Shopify","breadcrumbs":[{"label":"App embeds"}]},{"id":"U5xjWqzLyCbA3umhy0tW","title":"Customer Birthday Popup","pathname":"/app-embeds/customer-birthday-popup","siteSpaceId":"sitesp_Qf2qj","description":"A worked example — collect a customer's birthday from the storefront into a customer metafield.","breadcrumbs":[{"label":"App embeds"}]},{"id":"X3VVx65uPyPQ6TNwiOyx","title":"FAQ","pathname":"/faq","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"6M6xADqcsqhw5J9hyYGy","title":"Code examples","pathname":"/code-examples","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"ZNgxfex1kys8Fqg5ZBaM","title":"Create a single_line_text_field metafield","pathname":"/code-examples/create-a-single_line_text_field-metafield","siteSpaceId":"sitesp_Qf2qj","description":"Send a plain string value.","breadcrumbs":[{"label":"Code examples"}]},{"id":"6XCabyPBkmGBzCrJWro3","title":"Delete a metafield","pathname":"/code-examples/delete-a-metafield","siteSpaceId":"sitesp_Qf2qj","description":"Remove a metafield's value from Shopify.","breadcrumbs":[{"label":"Code examples"}]},{"id":"GHdAnr5cxTLXOOjGfgCs","title":"Create a product_reference metafield","pathname":"/code-examples/create-a-product_reference-metafield","siteSpaceId":"sitesp_Qf2qj","description":"Point a metafield at a product — send the numeric id, not a gid.","breadcrumbs":[{"label":"Code examples"}]},{"id":"nqyOAtH9mwOaMGQo1E4k","title":"Create a list.product_reference metafield","pathname":"/code-examples/create-a-list.product_reference-metafield","siteSpaceId":"sitesp_Qf2qj","description":"Point a metafield at several products at once.","breadcrumbs":[{"label":"Code examples"}]},{"id":"HAVWuUsbgGeYY6L8EZ69","title":"Create a json metafield","pathname":"/code-examples/create-a-json-metafield","siteSpaceId":"sitesp_Qf2qj","description":"Send a structured object as a single JSON metafield.","breadcrumbs":[{"label":"Code examples"}]},{"id":"mZqukQndfca2uUKN1lKI","title":"Create multiple metafields (aka flock)","pathname":"/code-examples/create-multiple-metafields-aka-flock","siteSpaceId":"sitesp_Qf2qj","description":"Send several metafields in one request, all-or-nothing.","breadcrumbs":[{"label":"Code examples"}]},{"id":"fF88r8NXgGe2LwUIHFcl","title":"Example features","pathname":"/example-features","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"xV4UpG1r8NIEUF0WL9B8","title":"Shopify quiz profiles","pathname":"/example-features/shopify-quiz-profiles","siteSpaceId":"sitesp_Qf2qj","description":"Save a customer's structured quiz answers to one Shopify JSON metafield.","breadcrumbs":[{"label":"Example features"}]},{"id":"MUgjgTjbkQw3XF94tXoj","title":"Shopify Klaviyo sync","pathname":"/example-features/shopify-klaviyo-sync","siteSpaceId":"sitesp_Qf2qj","description":"Save customer marketing preferences to Shopify and optionally map them to Klaviyo profile properties.","breadcrumbs":[{"label":"Example features"}]},{"id":"MvSRvpfRdjM0Szfod2wE","title":"Shopify customer wishlist","pathname":"/example-features/wish-list","siteSpaceId":"sitesp_Qf2qj","description":"Add and remove Shopify products in a customer-owned wishlist metafield.","breadcrumbs":[{"label":"Example features"}]},{"id":"Jny06H0CIb2YRkBPNMX5","title":"Saved product configurations","pathname":"/example-features/saved-product-configurations","siteSpaceId":"sitesp_Qf2qj","description":"Save, update, remove, and reopen customer product configurations from one JSON metafield.","breadcrumbs":[{"label":"Example features"}]},{"id":"FWNausQkErWamSZi6zAq","title":"Shopify vehicle garage","pathname":"/example-features/shopify-vehicle-garage","siteSpaceId":"sitesp_Qf2qj","description":"Add, select, and remove customer vehicles in one Shopify JSON metafield.","breadcrumbs":[{"label":"Example features"}]},{"id":"2pz8FKnhaESidS8RICVo","title":"Shopify product registration","pathname":"/example-features/customer-product-registration","siteSpaceId":"sitesp_Qf2qj","description":"Append validated product registrations to a customer-owned Shopify JSON metafield.","breadcrumbs":[{"label":"Example features"}]},{"id":"6XXH2hvHmrGI1JTnqcBl","title":"Collect custom customer attributes","pathname":"/example-features/collect-custom-customer-attributes","siteSpaceId":"sitesp_Qf2qj","description":"Build a simple form to collect custom customer attributes, store them into a customer metafield and optionally sync them with Klaviyo.","breadcrumbs":[{"label":"Example features"}]},{"id":"SKLKkMDZZpKqGv0DqqVr","title":"Customer registration with custom attributes (legacy)","pathname":"/example-features/customer-registration-with-custom-attributes","siteSpaceId":"sitesp_Qf2qj","description":"Legacy — works only on stores using classic customer accounts.","breadcrumbs":[{"label":"Example features"}]},{"id":"qFuN1p0UMGW6c2fCAEEx","title":"Troubleshooting","pathname":"/troubleshooting","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"gB3BVSJoqa4aJN4ohUr5","title":"Metaobject sync","pathname":"/metaobject-sync","siteSpaceId":"sitesp_Qf2qj","description":"Mirror each storefront submission into a Shopify metaobject entry, alongside the metafield FieldsRaven already writes."},{"id":"Ha6s5yq9wKIrSU5gOMya","title":"Klaviyo","pathname":"/klaviyo","siteSpaceId":"sitesp_Qf2qj","description":""},{"id":"JZoxGCtkgFLhFcCDMg9K","title":"Airtable","pathname":"/airtable","siteSpaceId":"sitesp_Qf2qj","description":""}]}