{"info":{"_postman_id":"16c4cd54-7c59-4c77-8371-034eab17fd29","name":"LensAdvizor 2.0 API Collection","description":"<html><head></head><body><p>Comprehensive API collection for LensAdvizor - Shopify application for prescription eyewear selling and management. This collection includes all endpoints with detailed documentation, required API scopes, response examples, and error scenarios.</p>\n<h2 id=\"overview\">Overview</h2>\n<h3 id=\"authentication\">Authentication</h3>\n<p>This API uses custom authentication headers:</p>\n<ul>\n<li><code>X-LensAdvizor-Access-Token</code>: Your access token</li>\n<li><code>X-LensAdvizor-Shop</code>: Your shop domain (e.g., your-store.myshopify.com)</li>\n</ul>\n<p>To generate an access token, log into your LensAdvizor account and navigate to the API settings section.</p>\n<h3 id=\"api-scopes\">API Scopes</h3>\n<p>Different endpoints require different API scopes:</p>\n<ul>\n<li><code>read_customers</code>: Access to customer data</li>\n<li><code>write_customers</code>: Create and update customer records</li>\n<li><code>read_orders</code>: Access to order data</li>\n<li><code>write_orders</code>: Create, update, and process orders</li>\n</ul>\n<h3 id=\"base-url\">Base URL</h3>\n<p>Production: <code>https://app.lensadvizor.com</code></p>\n<h3 id=\"rate-limiting\">Rate Limiting</h3>\n<p>Please be mindful of rate limits when making API calls. Implement appropriate delays between requests.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"47630133","collectionId":"16c4cd54-7c59-4c77-8371-034eab17fd29","publishedId":"2sBXcAHhYV","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-10T04:11:38.000Z"},"item":[{"name":"Customers","item":[{"name":"List Customers","event":[{"listen":"test","script":{"exec":["// Required API Scope: read_customers","// Description: List all customers for the authenticated store","// Features:","// - List all customers for the authenticated store","// - Permission-based access control","// - Store-scoped data isolation","// - Standard pagination parameters","// - Search and filtering capabilities","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response is an array\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.be.an('array');","});","","pm.test(\"Customer has required fields\", function () {","    var jsonData = pm.response.json();","    if (jsonData.length > 0) {","        var customer = jsonData[0];","        pm.expect(customer).to.have.property('id');","        pm.expect(customer).to.have.property('email');","        pm.expect(customer).to.have.property('first_name');","        pm.expect(customer).to.have.property('last_name');","    }","});"],"type":"text/javascript","id":"fec448f1-e57e-4e7e-affd-d64646fde77b"}}],"id":"2548a441-005a-4c11-9522-8c562ce4df6c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/customers/","urlObject":{"path":["api","store","customers",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"90357b7f-f065-4129-915a-59b747f39b7f","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/customers/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"id\": 1,\n    \"email\": \"john.doe@example.com\",\n    \"phone\": \"+1234567890\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"last_order_id\": 123456789,\n    \"total_spent\": \"299.99\",\n    \"default_address\": {\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"address1\": \"123 Main St\",\n      \"city\": \"New York\",\n      \"province\": \"NY\",\n      \"zip\": \"10001\"\n    }\n  }\n]"},{"id":"ed684ee2-6940-41f5-93aa-44872aa0c5c4","name":"Error - Insufficient Permissions","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/customers/"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"detail\": \"You do not have permission to perform this action.\"\n}"}],"_postman_id":"2548a441-005a-4c11-9522-8c562ce4df6c"},{"name":"Create Customer","event":[{"listen":"test","script":{"exec":["// Required API Scope: write_customers","// Description: Create new customer records","// Features:","// - Create new customer records","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 201\", function () {","    pm.response.to.have.status(201);","});","","pm.test(\"Customer created successfully\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('id');","    pm.expect(jsonData).to.have.property('email');","    pm.expect(jsonData).to.have.property('first_name');","    pm.expect(jsonData).to.have.property('last_name');","});"],"type":"text/javascript","id":"0c6b9e5a-e224-4bb7-930f-7d63a0cfd2f0"}}],"id":"1150589b-c0da-4f2a-9b0c-75c3321419cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"raw","raw":"{\"first_name\": \"John\", \"last_name\": \"Doe\", \"email\": \"john@example.com\"}"},"url":"https://app.lensadvizor.com/api/store/customers/","urlObject":{"path":["api","store","customers",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"7a64d321-0a3a-4bcb-86bd-56db3494ff32","name":"Success Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"raw","raw":"{\"first_name\": \"John\", \"last_name\": \"Doe\", \"email\": \"john@example.com\"}"},"url":"https://app.lensadvizor.com/api/store/customers/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 2,\n  \"email\": \"john@example.com\",\n  \"phone\": null,\n  \"first_name\": \"John\",\n  \"last_name\": \"Doe\",\n  \"last_order_id\": null,\n  \"total_spent\": \"0.00\",\n  \"default_address\": null\n}"},{"id":"40635b99-9599-498a-89d1-6405963fe6f1","name":"Error - Validation","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"}],"body":{"mode":"raw","raw":"{\"first_name\": \"\", \"email\": \"invalid-email\"}"},"url":"https://app.lensadvizor.com/api/store/customers/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"first_name\": [\"This field may not be blank.\"],\n  \"email\": [\"Enter a valid email address.\"]\n}"}],"_postman_id":"1150589b-c0da-4f2a-9b0c-75c3321419cb"},{"name":"Get Customer Details","event":[{"listen":"test","script":{"exec":["// Required API Scope: read_customers","// Description: Get detailed information about a specific customer","// Features:","// - Retrieve complete customer information","// - Permission-based access control","// - Store-scoped data isolation","// - Detailed customer serializer with prescriptions","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Customer has detailed fields\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('id');","    pm.expect(jsonData).to.have.property('email');","    pm.expect(jsonData).to.have.property('first_name');","    pm.expect(jsonData).to.have.property('last_name');","    pm.expect(jsonData).to.have.property('prescriptions');","});"],"type":"text/javascript","id":"d6ce1c4c-cab9-4045-802c-823b4dadc123"}}],"id":"46d3138b-ab24-4744-97a8-ae892b181fd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/customer/1/","urlObject":{"path":["api","store","customer","1",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"b7e3aeaf-0cec-46cb-9164-211ec52d5b02","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/customer/1/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 1,\n  \"email\": \"john.doe@example.com\",\n  \"phone\": \"+1234567890\",\n  \"first_name\": \"John\",\n  \"last_name\": \"Doe\",\n  \"last_order_id\": 123456789,\n  \"total_spent\": \"299.99\",\n  \"default_address\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"address1\": \"123 Main St\",\n    \"city\": \"New York\",\n    \"province\": \"NY\",\n    \"zip\": \"10001\"\n  },\n  \"prescriptions\": [\n    {\n      \"email\": \"john.doe@example.com\",\n      \"identifier\": \"RX123456\",\n      \"file\": \"prescription.pdf\",\n      \"notes\": \"Customer prescription\",\n      \"raw\": \"prescription_data\"\n    }\n  ]\n}"},{"id":"cb672f7a-b951-499e-a701-e00c57ef784a","name":"Error - Customer Not Found","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/customer/1/"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"detail\": \"Not found.\"\n}"}],"_postman_id":"46d3138b-ab24-4744-97a8-ae892b181fd6"}],"id":"26df2f20-6756-49a5-91e0-6f8c0a1bf03f","description":"<p>Customer management endpoints for store customer data.</p>\n<p><strong>Required API Scopes:</strong></p>\n<ul>\n<li><code>read_customers</code>: Access to customer data (GET endpoints)</li>\n<li><code>write_customers</code>: Create and update customer records (POST endpoints)</li>\n</ul>\n<p><strong>Endpoints:</strong></p>\n<ul>\n<li>List Customers: <code>read_customers</code></li>\n<li>Create Customer: <code>write_customers</code></li>\n<li>Get Customer Details: <code>read_customers</code></li>\n</ul>\n","_postman_id":"26df2f20-6756-49a5-91e0-6f8c0a1bf03f"},{"name":"Orders","item":[{"name":"List Orders","event":[{"listen":"test","script":{"exec":["// Required API Scope: read_orders","// Description: List all orders for the authenticated store with advanced filtering and search","// Features:","// - List all orders for the authenticated store","// - Full-text search across multiple fields (shopify_id, first_name, order_no, last_name)","// - Filtering by lab status and other criteria","// - Custom pagination","// - Permission-based access control","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response has pagination structure\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('count');","    pm.expect(jsonData).to.have.property('results');","});","","pm.test(\"Order has required fields\", function () {","    var jsonData = pm.response.json();","    if (jsonData.results.length > 0) {","        var order = jsonData.results[0];","        pm.expect(order).to.have.property('shopify_id');","        pm.expect(order).to.have.property('order_no');","        pm.expect(order).to.have.property('price');","    }","});"],"type":"text/javascript","id":"6818c337-f1d2-49b9-9bf9-7d51c4bdbc5a"}}],"id":"0cafe80d-b166-4e98-b2b9-6143ff07306f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/orders/?search=&lab_status=","urlObject":{"path":["api","store","orders",""],"host":["https://app.lensadvizor.com"],"query":[{"key":"search","value":""},{"key":"lab_status","value":""}],"variable":[]}},"response":[{"id":"5c2ffd73-9514-4404-8eb6-380beac9045a","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":{"raw":"https://app.lensadvizor.com/api/store/orders/?search=&lab_status=","host":["https://app.lensadvizor.com"],"path":["api","store","orders",""],"query":[{"key":"search","value":""},{"key":"lab_status","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"count\": 1,\n  \"next\": null,\n  \"previous\": null,\n  \"results\": [\n    {\n      \"shopify_id\": \"123456789\",\n      \"created_at\": \"2024-01-15T10:30:00Z\",\n      \"order_no\": \"#1001\",\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"is_notes_available\": true,\n      \"price\": \"299.99\",\n      \"fulfillment_status\": \"unfulfilled\",\n      \"note\": \"Customer requested express shipping\",\n      \"lab_status\": \"pending\",\n      \"prescription_types\": [\"single_vision\"],\n      \"order_product_ids\": [1, 2],\n      \"prescription_methods\": [\"upload\"]\n    }\n  ]\n}"},{"id":"4666a960-ae41-43f8-952b-3d0faba15f20","name":"Error - Insufficient Permissions","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":{"raw":"https://app.lensadvizor.com/api/store/orders/?search=&lab_status=","host":["https://app.lensadvizor.com"],"path":["api","store","orders",""],"query":[{"key":"search","value":""},{"key":"lab_status","value":""}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"detail\": \"You do not have permission to perform this action.\"\n}"}],"_postman_id":"0cafe80d-b166-4e98-b2b9-6143ff07306f"},{"name":"Get Order Details","event":[{"listen":"test","script":{"exec":["// Required API Scope: read_orders","// Description: Get detailed information about a specific order using Shopify order ID","// Features:","// - Retrieve complete order information","// - Uses Shopify ID as lookup field","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Order has required fields\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('shopify_id');","    pm.expect(jsonData).to.have.property('order_no');","    pm.expect(jsonData).to.have.property('price');","});"],"type":"text/javascript","id":"0679dfc0-ddf3-40eb-a145-c6ac1d511040"}}],"id":"8c359e49-5f6c-42b5-9bc5-4e452404b85a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/order/123456789/","urlObject":{"path":["api","store","order","123456789",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"244f99bd-7184-44f7-b478-5bc88bfca213","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/order/123456789/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"shopify_id\": \"123456789\",\n  \"created_at\": \"2024-01-15T10:30:00Z\",\n  \"order_no\": \"#1001\",\n  \"first_name\": \"John\",\n  \"last_name\": \"Doe\",\n  \"price\": \"299.99\",\n  \"fulfillment_status\": \"unfulfilled\",\n  \"lab_status\": \"pending\",\n  \"customer\": {\n    \"id\": 1,\n    \"email\": \"john.doe@example.com\",\n    \"phone\": \"+1234567890\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\"\n  },\n  \"shipping_address\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"address1\": \"123 Main St\",\n    \"city\": \"New York\",\n    \"province\": \"NY\",\n    \"zip\": \"10001\"\n  },\n  \"billing_address\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"address1\": \"123 Main St\",\n    \"city\": \"New York\",\n    \"province\": \"NY\",\n    \"zip\": \"10001\"\n  },\n  \"order_products\": []\n}"},{"id":"b5762968-622d-4281-98b5-c8412c42fe32","name":"Get Order Details","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/order/123456789/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"Content-Length","value":"7730"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Mon, 25 Aug 2025 05:02:33 GMT"},{"key":"Nel","value":"{\"report_to\":\"heroku-nel\",\"response_headers\":[\"Via\"],\"max_age\":3600,\"success_fraction\":0.01,\"failure_fraction\":0.1}"},{"key":"Referrer-Policy","value":"no-referrer-when-downgrade"},{"key":"Report-To","value":"{\"group\":\"heroku-nel\",\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?s=q5xPXx%2B9f3gO7SMYCl10mdYZyYEJqWy%2Fbn%2FqAduSGGs%3D\\u0026sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d\\u0026ts=1756098153\"}],\"max_age\":3600}"},{"key":"Reporting-Endpoints","value":"heroku-nel=\"https://nel.heroku.com/reports?s=q5xPXx%2B9f3gO7SMYCl10mdYZyYEJqWy%2Fbn%2FqAduSGGs%3D&sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d&ts=1756098153\""},{"key":"Server","value":"Heroku"},{"key":"Vary","value":"Accept, Cookie, Origin"},{"key":"Via","value":"1.1 heroku-router"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"shopify_id\": \"6995094077630\",\n    \"created_at\": \"2025-08-15T08:02:31.350116Z\",\n    \"order_no\": \"#LA-2278\",\n    \"first_name\": \"Zenos\",\n    \"last_name\": \"Schmickrath\",\n    \"is_notes_available\": false,\n    \"price\": 157.72,\n    \"fulfillment_status\": null,\n    \"note\": \"\",\n    \"lab_status\": \"success\",\n    \"prescription_types\": [\n        \"single_vision\"\n    ],\n    \"order_product_ids\": [\n        8922\n    ],\n    \"prescription_methods\": [\n        \"entered_manually\"\n    ],\n    \"customer\": {\n        \"id\": 5036300239038,\n        \"phone\": null,\n        \"last_name\": \"Schmickrath\",\n        \"first_name\": \"Zenos\",\n        \"email\": \"zene99@hotmail.com\"\n    },\n    \"is_charge_pending\": false,\n    \"percentage_charge_amount\": 10.2356996259,\n    \"is_luna_charge_pending\": false,\n    \"luna_charge\": 0,\n    \"shipping_address\": {\n        \"zip\": \"83401\",\n        \"city\": \"Ammon\",\n        \"name\": \"Zenos Schmickrath\",\n        \"phone\": null,\n        \"company\": null,\n        \"country\": \"United States\",\n        \"address1\": \"715 Silvermaple Dr\",\n        \"address2\": null,\n        \"latitude\": 43.502818,\n        \"province\": \"Idaho\",\n        \"last_name\": \"Schmickrath\",\n        \"longitude\": -111.9738161,\n        \"first_name\": \"Zenos\",\n        \"country_code\": \"US\",\n        \"province_code\": \"ID\"\n    },\n    \"billing_address\": {\n        \"zip\": \"83401\",\n        \"city\": \"Ammon\",\n        \"name\": \"Zenos Schmickrath\",\n        \"phone\": null,\n        \"company\": null,\n        \"country\": \"United States\",\n        \"address1\": \"715 Silvermaple Dr\",\n        \"address2\": null,\n        \"latitude\": 43.502818,\n        \"province\": \"Idaho\",\n        \"last_name\": \"Schmickrath\",\n        \"longitude\": -111.9738161,\n        \"first_name\": \"Zenos\",\n        \"country_code\": \"US\",\n        \"province_code\": \"ID\"\n    },\n    \"order_products\": [\n        {\n            \"id\": 8922,\n            \"method\": \"entered_manually\",\n            \"prescription_type\": \"single_vision\",\n            \"product_id\": \"6137161285822\",\n            \"title\": \"015 Frame\",\n            \"note\": \"\",\n            \"quantity\": 1,\n            \"prescription_fileV1\": \"\",\n            \"prescription_file\": \"\",\n            \"product_url\": \"https://erw-beta.myshopify.com/admin/products/6137161285822/\",\n            \"lens_url\": \"https://erw-beta.myshopify.com/admin/products/7531977965758/\",\n            \"lens\": {\n                \"id\": \"7531977965758\",\n                \"sku\": \"\",\n                \"name\": \"New Lens 1 - Blue\",\n                \"price\": 0,\n                \"title\": \"New Lens 1\",\n                \"item_id\": 3205,\n                \"lens_type\": \"Clear Lenses\",\n                \"properties\": [\n                    {\n                        \"name\": \"Patient Name\",\n                        \"value\": \"\"\n                    }\n                ],\n                \"variant_id\": \"44256881770686\",\n                \"lensGroupType\": \"clear_standard\",\n                \"variant_title\": \"Blue\",\n                \"lensGroupTitle\": \"Plano\",\n                \"item_variant_id\": null,\n                \"selected_options\": [\n                    {\n                        \"name\": \"Tint\",\n                        \"value\": \"Blue\"\n                    }\n                ],\n                \"additional_informations\": {}\n            },\n            \"line_item\": {\n                \"id\": 15949213270206,\n                \"sku\": \"ABC123\",\n                \"name\": \"015 Frame\",\n                \"grams\": 0,\n                \"price\": \"111.39\",\n                \"title\": \"015 Frame\",\n                \"duties\": [],\n                \"vendor\": \"Liam Fashions\",\n                \"taxable\": true,\n                \"quantity\": 1,\n                \"gift_card\": false,\n                \"price_set\": {\n                    \"shop_money\": {\n                        \"amount\": \"111.39\",\n                        \"currency_code\": \"GBP\"\n                    },\n                    \"presentment_money\": {\n                        \"amount\": \"151.32\",\n                        \"currency_code\": \"USD\"\n                    }\n                },\n                \"tax_lines\": [],\n                \"product_id\": 6137161285822,\n                \"properties\": [\n                    {\n                        \"name\": \"_unique_identifier\",\n                        \"value\": \"single_vision__6137161285822__1755244859989\"\n                    },\n                    {\n                        \"name\": \"_productType\",\n                        \"value\": \"frame\"\n                    },\n                    {\n                        \"name\": \"Prescription Type\",\n                        \"value\": \"New SV Flow\"\n                    },\n                    {\n                        \"name\": \"Method\",\n                        \"value\": \"Entered Manually\"\n                    },\n                    {\n                        \"name\": \"Lens\",\n                        \"value\": \"New Lens 1 - Blue\"\n                    },\n                    {\n                        \"name\": \"_lens_variant_id\",\n                        \"value\": \"44256881770686\"\n                    },\n                    {\n                        \"name\": \"_bundleEnabled\",\n                        \"value\": \"1\"\n                    },\n                    {\n                        \"name\": \"_bundleId\",\n                        \"value\": 1755244859989\n                    },\n                    {\n                        \"name\": \"_addOns\",\n                        \"value\": 0\n                    }\n                ],\n                \"variant_id\": 37765195169982,\n                \"variant_title\": null,\n                \"product_exists\": true,\n                \"total_discount\": \"0.00\",\n                \"current_quantity\": 1,\n                \"attributed_staffs\": [],\n                \"requires_shipping\": true,\n                \"fulfillment_status\": null,\n                \"total_discount_set\": {\n                    \"shop_money\": {\n                        \"amount\": \"0.00\",\n                        \"currency_code\": \"GBP\"\n                    },\n                    \"presentment_money\": {\n                        \"amount\": \"0.00\",\n                        \"currency_code\": \"USD\"\n                    }\n                },\n                \"fulfillment_service\": \"manual\",\n                \"glass_variant_price\": 110,\n                \"admin_graphql_api_id\": \"gid://shopify/LineItem/15949213270206\",\n                \"discount_allocations\": [],\n                \"fulfillable_quantity\": 1,\n                \"variant_inventory_management\": \"shopify\"\n            },\n            \"additional_informations\": {\n                \"lensProperties\": {\n                    \"Patient Name\": \"\"\n                },\n                \"addOnProperties\": {},\n                \"frameProperties\": {}\n            },\n            \"lab_order\": {\n                \"id\": 4625,\n                \"integration_status\": \"success\",\n                \"name\": \"LensAdvisor Idaho\",\n                \"combine_order_product\": false,\n                \"oma_file_content\": null,\n                \"updated_at\": \"2025-08-19T07:53:23.837141Z\",\n                \"reference_number\": null,\n                \"shipping_date\": null,\n                \"exception_message\": null,\n                \"created_at\": \"August 15, 2025\",\n                \"metadata\": {},\n                \"order_no\": \"#LA-2278\",\n                \"order_product\": 8922,\n                \"store_lab\": 7,\n                \"store\": 3,\n                \"lab\": 6,\n                \"order\": 8763,\n                \"job_status\": \"waiting_for_frame\",\n                \"order_lab_job_status\": null,\n                \"quality_check_images\": [],\n                \"ship_tracking_number\": null,\n                \"quality_courier\": null,\n                \"charges\": [\n                    {\n                        \"id\": 1926,\n                        \"lab_order\": 4625,\n                        \"order_no\": \"#LA-2278\",\n                        \"amount\": 0.74431,\n                        \"charge_type_display\": \"Commission\",\n                        \"charge_type\": \"commission\",\n                        \"created_at\": \"2025-08-15T16:11:24.747936Z\"\n                    }\n                ],\n                \"ship_tracking_url\": null,\n                \"lab_address\": \"1231 Trappers Ridge\\r\\nIdaho 83401\",\n                \"parent_lab_order\": null,\n                \"metafields\": {\n                    \"t\": \"b\",\n                    \"single vision\": \"true\"\n                }\n            },\n            \"prescription_setting\": {\n                \"pd\": {\n                    \"left\": null,\n                    \"type\": \"Single PD\",\n                    \"right\": null,\n                    \"value\": \"76.5\",\n                    \"fittingBoxPdCount\": 1\n                },\n                \"sph\": \"\",\n                \"os_left\": {\n                    \"add\": null,\n                    \"cyl\": \"-0.75\",\n                    \"sph\": \"-0.75\",\n                    \"axis\": \"90\"\n                },\n                \"diopters\": {\n                    \"os_left\": \"\",\n                    \"od_right\": \"\"\n                },\n                \"od_right\": {\n                    \"add\": null,\n                    \"cyl\": \"-0.50\",\n                    \"sph\": \"-1.75\",\n                    \"axis\": \"100\"\n                },\n                \"provider\": {\n                    \"doctorName\": \"\",\n                    \"dateOfBirth\": \"\",\n                    \"customerName\": \"\",\n                    \"doctorAddress\": \"\",\n                    \"doctorPhoneNo\": \"\"\n                },\n                \"prism_value\": false,\n                \"prism_fields\": {\n                    \"os_left\": {\n                        \"vertical\": null,\n                        \"horizontal\": null,\n                        \"base_direction_vertical\": null,\n                        \"base_direction_horizontal\": null\n                    },\n                    \"od_right\": {\n                        \"vertical\": null,\n                        \"horizontal\": null,\n                        \"base_direction_vertical\": null,\n                        \"base_direction_horizontal\": null\n                    }\n                },\n                \"prismRequired\": false,\n                \"segment_height\": null\n            },\n            \"addons\": {\n                \"0\": {\n                    \"product\": null,\n                    \"variantId\": null,\n                    \"outOfStockSkip\": false\n                },\n                \"1\": {\n                    \"step\": \"Choose a Case\",\n                    \"canSkip\": false,\n                    \"product\": {\n                        \"id\": 7296105054398,\n                        \"tags\": \"LensAdvizor\",\n                        \"image\": {\n                            \"id\": 31391780765886,\n                            \"alt\": null,\n                            \"src\": \"https://cdn.shopify.com/s/files/1/0413/1160/0808/products/HardCase.png?v=1657726494\",\n                            \"width\": 838,\n                            \"height\": 830,\n                            \"position\": 1,\n                            \"created_at\": \"2022-07-13T23:34:53+08:00\",\n                            \"product_id\": 7296105054398,\n                            \"updated_at\": \"2022-07-13T23:34:54+08:00\",\n                            \"variant_ids\": [],\n                            \"admin_graphql_api_id\": \"gid://shopify/ProductImage/31391780765886\"\n                        },\n                        \"media\": [\n                            {\n                                \"id\": 23725199982782,\n                                \"alt\": null,\n                                \"status\": \"READY\",\n                                \"position\": 1,\n                                \"created_at\": \"2022-07-13T23:34:53+08:00\",\n                                \"product_id\": 7296105054398,\n                                \"updated_at\": \"2022-07-13T23:34:54+08:00\",\n                                \"variant_ids\": [],\n                                \"preview_image\": {\n                                    \"src\": \"https://cdn.shopify.com/s/files/1/0413/1160/0808/products/HardCase.png?v=1657726494\",\n                                    \"width\": 838,\n                                    \"height\": 830,\n                                    \"status\": \"READY\"\n                                },\n                                \"media_content_type\": \"IMAGE\",\n                                \"admin_graphql_api_id\": \"gid://shopify/MediaImage/23725199982782\"\n                            }\n                        ],\n                        \"title\": \"Hard Case\",\n                        \"handle\": \"hard-case\",\n                        \"images\": [\n                            {\n                                \"id\": 31391780765886,\n                                \"alt\": null,\n                                \"src\": \"https://cdn.shopify.com/s/files/1/0413/1160/0808/products/HardCase.png?v=1657726494\",\n                                \"width\": 838,\n                                \"height\": 830,\n                                \"position\": 1,\n                                \"created_at\": \"2022-07-13T23:34:53+08:00\",\n                                \"product_id\": 7296105054398,\n                                \"updated_at\": \"2022-07-13T23:34:54+08:00\",\n                                \"variant_ids\": [],\n                                \"admin_graphql_api_id\": \"gid://shopify/ProductImage/31391780765886\"\n                            }\n                        ],\n                        \"status\": \"active\",\n                        \"vendor\": \"erw-beta\",\n                        \"options\": [\n                            {\n                                \"id\": 9359860727998,\n                                \"name\": \"Title\",\n                                \"values\": [\n                                    \"Default Title\"\n                                ],\n                                \"position\": 1,\n                                \"product_id\": 7296105054398\n                            }\n                        ],\n                        \"category\": null,\n                        \"variants\": [\n                            {\n                                \"id\": 41653050802366,\n                                \"sku\": \"HRDCS\",\n                                \"price\": \"40.00\",\n                                \"title\": \"Default Title\",\n                                \"barcode\": \"\",\n                                \"option1\": \"Default Title\",\n                                \"option2\": null,\n                                \"option3\": null,\n                                \"taxable\": true,\n                                \"image_id\": null,\n                                \"position\": 1,\n                                \"created_at\": \"2022-07-13T23:34:53+08:00\",\n                                \"product_id\": 7296105054398,\n                                \"updated_at\": \"2025-08-12T21:23:51+08:00\",\n                                \"compare_at_price\": null,\n                                \"inventory_policy\": \"deny\",\n                                \"inventory_item_id\": 43750948634814,\n                                \"inventory_quantity\": -90,\n                                \"admin_graphql_api_id\": \"gid://shopify/ProductVariant/41653050802366\",\n                                \"old_inventory_quantity\": -90\n                            }\n                        ],\n                        \"body_html\": \"\",\n                        \"created_at\": \"2022-07-13T23:34:53+08:00\",\n                        \"metafields\": [],\n                        \"updated_at\": \"2025-07-27T10:26:43+08:00\",\n                        \"product_type\": \"\",\n                        \"published_at\": \"2022-07-13T23:34:56+08:00\",\n                        \"variant_gids\": [\n                            {\n                                \"updated_at\": \"2025-08-12T13:23:51.000Z\",\n                                \"admin_graphql_api_id\": \"gid://shopify/ProductVariant/41653050802366\"\n                            }\n                        ],\n                        \"published_scope\": \"global\",\n                        \"template_suffix\": \"\",\n                        \"admin_graphql_api_id\": \"gid://shopify/Product/7296105054398\",\n                        \"has_variants_that_requires_components\": false\n                    },\n                    \"variantId\": \"41653050802366\",\n                    \"bundleProducts\": false,\n                    \"outOfStockSkip\": false\n                },\n                \"2\": {\n                    \"product\": null,\n                    \"variantId\": null,\n                    \"outOfStockSkip\": false\n                }\n            },\n            \"shopify_order_id\": \"6995094077630\"\n        }\n    ]\n}"}],"_postman_id":"8c359e49-5f6c-42b5-9bc5-4e452404b85a"},{"name":"List Order Products","event":[{"listen":"test","script":{"exec":["// Required API Scope: read_orders","// Description: List all products (line items) in a specific order","// Features:","// - List all products in a specific order","// - Uses Shopify order ID as lookup","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response is an array\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.be.an('array');","});"],"type":"text/javascript","id":"9dd1fc85-6a9e-4d41-8db9-c07a8cadb03f"}}],"id":"32d52e86-964e-4d8f-bbf8-64a5c8779f0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/order/123456789/products/","urlObject":{"path":["api","store","order","123456789","products",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"9140b7d9-aad1-4889-a010-5dbddbbec291","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/store/order/123456789/products/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"id\": 1,\n    \"method\": \"upload\",\n    \"prescription_type\": \"single_vision\",\n    \"product_id\": \"123456789\",\n    \"title\": \"Single Vision Lens\",\n    \"note\": \"Customer prescription\",\n    \"quantity\": 1,\n    \"prescription_fileV1\": \"https://example.com/prescription.pdf\",\n    \"prescription_file\": \"prescription.pdf\"\n  }\n]"}],"_postman_id":"32d52e86-964e-4d8f-bbf8-64a5c8779f0b"},{"name":"Update Order Product","event":[{"listen":"test","script":{"exec":["// Required API Scope: write_orders","// Description: Update order product information (PATCH only, PUT not supported)","// Features:","// - Retrieve individual order product details","// - Update order product information (PATCH only)","// - Permission-based access control","// - Store-scoped data isolation","// - Order-scoped product access","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Product updated successfully\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('id');","    pm.expect(jsonData).to.have.property('quantity');","});"],"type":"text/javascript","id":"433d525f-4eeb-4850-b0c2-acff98574bba"}}],"id":"28bbce5d-6060-4e60-bf29-5d1cc4ffce8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"raw","raw":"{\"quantity\": 2, \"price\": \"99.99\"}"},"url":"https://app.lensadvizor.com/api/store/order/123456789/products/1/","urlObject":{"path":["api","store","order","123456789","products","1",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"f1cfff4a-12b8-498b-ad70-78253a7e903e","name":"Success Response","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"}],"body":{"mode":"raw","raw":"{\"quantity\": 2, \"price\": \"99.99\"}"},"url":"https://app.lensadvizor.com/api/store/order/123456789/products/1/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 1,\n  \"method\": \"upload\",\n  \"prescription_type\": \"single_vision\",\n  \"product_id\": \"123456789\",\n  \"title\": \"Single Vision Lens\",\n  \"note\": \"Updated order product\",\n  \"quantity\": 2,\n  \"price\": \"99.99\",\n  \"prescription_fileV1\": \"https://example.com/prescription.pdf\",\n  \"prescription_file\": \"prescription.pdf\"\n}"}],"_postman_id":"28bbce5d-6060-4e60-bf29-5d1cc4ffce8c"},{"name":"Extract Prescription","event":[{"listen":"test","script":{"exec":["// Required API Scope: write_orders","// Description: Extract prescription data from order products using AI","// Features:","// - AI-powered prescription extraction","// - Batch processing of multiple order products","// - Error isolation (individual product failures don't affect others)","// - Detailed error reporting for failed extractions","// - Permission-based access control","// - POST method for processing prescription extraction","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response has order_id and order_products\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('order_id');","    pm.expect(jsonData).to.have.property('order_products');","    pm.expect(jsonData.order_products).to.be.an('array');","});","","pm.test(\"Order products have required structure\", function () {","    var jsonData = pm.response.json();","    if (jsonData.order_products.length > 0) {","        var product = jsonData.order_products[0];","        pm.expect(product).to.have.property('id');","        pm.expect(product).to.have.property('bundle_reference_no');","        pm.expect(product).to.have.property('ai_extracted_rx');","    }","});"],"type":"text/javascript","id":"b88ac1bb-3072-48a5-9ba5-2c8686625fa4"}}],"id":"463cd89b-c229-4c6f-81b9-5703b33fbf02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"123456789\"\n}"},"url":"https://app.lensadvizor.com/api/store/order/123456789/extract","urlObject":{"path":["api","store","order","123456789","extract"],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"0fd58de7-984a-433f-9bfd-d000738f0640","name":"Success Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"123456789\"\n}"},"url":"https://app.lensadvizor.com/api/store/order/123456789/extract"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"order_id\": \"123456789\",\n  \"order_products\": [\n    {\n      \"id\": 1,\n      \"bundle_reference_no\": \"BUNDLE-001\",\n      \"ai_extracted_rx\": {\n        \"sphere_right\": \"-2.50\",\n        \"sphere_left\": \"-2.25\",\n        \"cylinder_right\": \"-0.75\",\n        \"cylinder_left\": \"-0.50\",\n        \"axis_right\": \"90\",\n        \"axis_left\": \"85\",\n        \"pd_right\": \"32\",\n        \"pd_left\": \"32\",\n        \"add_power\": \"+1.25\"\n      }\n    },\n    {\n      \"id\": 2,\n      \"bundle_reference_no\": null,\n      \"ai_extracted_rx\": null,\n      \"error\": \"No prescription document found for this product\"\n    }\n  ]\n}"},{"id":"6fb27cf2-2fbd-4273-ab79-aef46e5a3dec","name":"Error - Order Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"123456789\"\n}"},"url":"https://app.lensadvizor.com/api/store/order/123456789/extract"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"detail\": \"Invalid Shopify order id or not accessible by this user.\"\n}"}],"_postman_id":"463cd89b-c229-4c6f-81b9-5703b33fbf02"}],"id":"3e61d26c-8706-4857-821f-2c229bf237a4","description":"<p>Order management endpoints with search, filtering, and prescription extraction.</p>\n<p><strong>Required API Scopes:</strong></p>\n<ul>\n<li><code>read_orders</code>: Access to order data (GET endpoints)</li>\n<li><code>write_orders</code>: Create, update, and process orders (POST/PATCH endpoints)</li>\n</ul>\n<p><strong>Endpoints:</strong></p>\n<ul>\n<li>List Orders: <code>read_orders</code></li>\n<li>Get Order Details: <code>read_orders</code></li>\n<li>List Order Products: <code>read_orders</code></li>\n<li>Update Order Product: <code>write_orders</code></li>\n<li>Extract Prescription: <code>write_orders</code></li>\n</ul>\n","_postman_id":"3e61d26c-8706-4857-821f-2c229bf237a4"},{"name":"Data Collection","item":[{"name":"Check App Installation","event":[{"listen":"test","script":{"exec":["// Required API Scope: None (Public endpoint)","// Description: Check if a Shopify store has installed the LensAdvizor app","// Features:","// - Public endpoint (no authentication required)","// - Used during onboarding or verification steps","// - Returns boolean status","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response has status field\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('status');","    pm.expect(jsonData.status).to.be.a('boolean');","});"],"type":"text/javascript","id":"a03dca58-b12d-42d9-824c-613583ea1e63"}}],"id":"9190e968-4c85-41c5-8a0d-a5046df39358","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.lensadvizor.com/data-collection/lensadvisor/isinstalled?shop=your-store.myshopify.com","urlObject":{"path":["data-collection","lensadvisor","isinstalled"],"host":["https://app.lensadvizor.com"],"query":[{"key":"shop","value":"your-store.myshopify.com"}],"variable":[]}},"response":[{"id":"bb30b94d-25ca-4f1f-a0ca-7522f4e9372a","name":"Success - App Installed","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://app.lensadvizor.com/data-collection/lensadvisor/isinstalled?shop=your-store.myshopify.com","host":["https://app.lensadvizor.com"],"path":["data-collection","lensadvisor","isinstalled"],"query":[{"key":"shop","value":"your-store.myshopify.com"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": true\n}"},{"id":"5d4729ed-f8b5-4785-8bb9-4ba89d962712","name":"Success - App Not Installed","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://app.lensadvizor.com/data-collection/lensadvisor/isinstalled?shop=your-store.myshopify.com","host":["https://app.lensadvizor.com"],"path":["data-collection","lensadvisor","isinstalled"],"query":[{"key":"shop","value":"your-store.myshopify.com"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": false\n}"}],"_postman_id":"9190e968-4c85-41c5-8a0d-a5046df39358"},{"name":"List Store Products","event":[{"listen":"test","script":{"exec":["// Required API Scope: Requires authentication","// Description: List store products with filtering and search capabilities","// Features:","// - List store products with filtering and search","// - Search in product id and title","// - Filter by vendor name and lens type","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response has pagination structure\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('count');","    pm.expect(jsonData).to.have.property('results');","});"],"type":"text/javascript","id":"13ede6f6-f5c1-43f4-baee-08abd203826f"}}],"id":"7ac3c2b9-84f4-45af-a919-d59100f85d41","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/data-collection/products/?search=&vendor=","urlObject":{"path":["data-collection","products",""],"host":["https://app.lensadvizor.com"],"query":[{"key":"search","value":""},{"key":"vendor","value":""}],"variable":[]}},"response":[{"id":"2ec61cbb-80c9-4cd3-a0d3-1e3b0d0e9810","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":{"raw":"https://app.lensadvizor.com/data-collection/products/?search=&vendor=","host":["https://app.lensadvizor.com"],"path":["data-collection","products",""],"query":[{"key":"search","value":""},{"key":"vendor","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"count\": 1,\n  \"next\": null,\n  \"previous\": null,\n  \"results\": [\n    {\n      \"id\": 1,\n      \"title\": \"Single Vision Lens\",\n      \"vendor\": \"LensCo\",\n      \"variants\": [\n        {\n          \"id\": 1,\n          \"title\": \"Standard\",\n          \"price\": \"99.99\",\n          \"sku\": \"SV-STD-001\"\n        }\n      ],\n      \"image\": \"https://example.com/lens.jpg\",\n      \"images\": [\"https://example.com/lens.jpg\"],\n      \"handle\": \"single-vision-lens\"\n    }\n  ]\n}"}],"_postman_id":"7ac3c2b9-84f4-45af-a919-d59100f85d41"},{"name":"List Collections","event":[{"listen":"test","script":{"exec":["// Required API Scope: Requires authentication","// Description: List Shopify collections for the authenticated store","// Features:","// - List Shopify collections","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response is an array\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.be.an('array');","});"],"type":"text/javascript","id":"ba2fd9a7-97fe-42f1-90d4-02cc53c93fda"}}],"id":"600641e2-a59a-4017-b4a1-ad31edbbb8e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/data-collection/collections/","urlObject":{"path":["data-collection","collections",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"74da452f-9440-4263-9a58-2ee7326d35e7","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/data-collection/collections/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"id\": 1,\n    \"gid\": \"gid://shopify/Collection/1\",\n    \"handle\": \"prescription-lenses\",\n    \"title\": \"Prescription Lenses\",\n    \"image\": \"https://example.com/collection.jpg\",\n    \"collection_type\": \"custom\"\n  }\n]"}],"_postman_id":"600641e2-a59a-4017-b4a1-ad31edbbb8e5"},{"name":"Search Doctor Practices","event":[{"listen":"test","script":{"exec":["// Required API Scope: None (Public endpoint)","// Description: Search doctor practices by phone number or doctor details","// Features:","// - Public endpoint (no authentication required)","// - Search by phone number (partial or full)","// - Search by doctor name, city, state (partial)","// - Returns up to 250 results","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response is an array\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.be.an('array');","});"],"type":"text/javascript","id":"103459ae-0db3-40f3-835e-c4a434a85674"}}],"id":"21878e2e-5793-423b-83fa-1498f7eb2bf1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.lensadvizor.com/data-collection/doctor-practices?phone_no=&doctor_name=","urlObject":{"path":["data-collection","doctor-practices"],"host":["https://app.lensadvizor.com"],"query":[{"key":"phone_no","value":""},{"key":"doctor_name","value":""}],"variable":[]}},"response":[{"id":"adbd10e9-4b9b-4f07-b732-494bf07644fd","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://app.lensadvizor.com/data-collection/doctor-practices?phone_no=&doctor_name=","host":["https://app.lensadvizor.com"],"path":["data-collection","doctor-practices"],"query":[{"key":"phone_no","value":""},{"key":"doctor_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"id\": 1,\n    \"doctor_practice_id\": \"DP001\",\n    \"practice_name\": \"Vision Care Center\",\n    \"practice_phone\": \"+1234567890\",\n    \"practice_fax\": \"+1234567891\",\n    \"practice_email\": \"info@visioncare.com\",\n    \"full_address\": \"123 Main St, New York, NY, 10001, +1234567890\",\n    \"doctor_name\": \"Dr. John Smith\"\n  }\n]"}],"_postman_id":"21878e2e-5793-423b-83fa-1498f7eb2bf1"},{"name":"List Prescriptions","event":[{"listen":"test","script":{"exec":["// Required API Scope: Requires authentication","// Description: List prescriptions for the authenticated store","// Features:","// - List prescriptions with pagination","// - Filter by source, email, identifier","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response has pagination structure\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('count');","    pm.expect(jsonData).to.have.property('results');","});"],"type":"text/javascript","id":"835f20e6-3d5e-4570-9c48-8b508eb17466"}}],"id":"63229156-91ce-4d17-b199-9328c1621942","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/data-collection/prescriptions","urlObject":{"path":["data-collection","prescriptions"],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[{"id":"3a0e7b18-1ff5-43b2-aa1d-3ff040bcaa13","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/data-collection/prescriptions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"count\": 1,\n  \"next\": null,\n  \"previous\": null,\n  \"results\": [\n    {\n      \"id\": 1,\n      \"store\": 1,\n      \"source\": \"upload\",\n      \"file\": \"prescription.pdf\",\n      \"raw\": \"prescription_data\",\n      \"notes\": \"Customer prescription\",\n      \"identifier\": \"RX123456\"\n    }\n  ]\n}"}],"_postman_id":"63229156-91ce-4d17-b199-9328c1621942"},{"name":"Create Prescription","event":[{"listen":"test","script":{"exec":["// Required API Scope: Requires authentication","// Description: Create a new prescription record","// Features:","// - Create new prescription records","// - Requires shop parameter","// - Permission-based access control","// - Store-scoped data isolation","","pm.test(\"Status code is 201\", function () {","    pm.response.to.have.status(201);","});","","pm.test(\"Prescription created successfully\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('id');","    pm.expect(jsonData).to.have.property('identifier');","});"],"type":"text/javascript","id":"2c11b6d0-d670-452a-8853-08b5911f3bb9"}}],"id":"354fa4df-1ea1-4a2e-b152-908aaa2e70b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"raw","raw":"{\"source\": \"upload\", \"identifier\": \"RX123456\"}"},"url":"https://app.lensadvizor.com/data-collection/prescriptions?shop=your-store.myshopify.com","urlObject":{"path":["data-collection","prescriptions"],"host":["https://app.lensadvizor.com"],"query":[{"key":"shop","value":"your-store.myshopify.com"}],"variable":[]}},"response":[{"id":"0e807d16-f831-4bae-a0d3-72fe14f24858","name":"Success Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"}],"body":{"mode":"raw","raw":"{\"source\": \"upload\", \"identifier\": \"RX123456\"}"},"url":{"raw":"https://app.lensadvizor.com/data-collection/prescriptions?shop=your-store.myshopify.com","host":["https://app.lensadvizor.com"],"path":["data-collection","prescriptions"],"query":[{"key":"shop","value":"your-store.myshopify.com"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 2,\n  \"store\": 1,\n  \"source\": \"upload\",\n  \"file\": null,\n  \"raw\": null,\n  \"notes\": null,\n  \"identifier\": \"RX123456\"\n}"}],"_postman_id":"354fa4df-1ea1-4a2e-b152-908aaa2e70b4"}],"id":"b5597e13-8d9b-4673-8091-37bb2eddf315","description":"<p>Data collection endpoints for products, collections, doctor practices, and prescriptions.</p>\n<p><strong>Required API Scopes:</strong></p>\n<ul>\n<li><strong>Public Endpoints</strong> (No authentication required):<ul>\n<li>Check App Installation</li>\n<li>Search Doctor Practices</li>\n</ul>\n</li>\n<li><strong>Authenticated Endpoints</strong> (Requires access token):<ul>\n<li>List Store Products: Requires authentication</li>\n<li>List Collections: Requires authentication</li>\n<li>List Prescriptions: Requires authentication</li>\n<li>Create Prescription: Requires authentication</li>\n</ul>\n</li>\n</ul>\n<p><strong>Endpoints:</strong></p>\n<ul>\n<li>Check App Installation: <code>None (Public)</code></li>\n<li>List Store Products: <code>Requires authentication</code></li>\n<li>List Collections: <code>Requires authentication</code></li>\n<li>Search Doctor Practices: <code>None (Public)</code></li>\n<li>List Prescriptions: <code>Requires authentication</code></li>\n<li>Create Prescription: <code>Requires authentication</code></li>\n</ul>\n","_postman_id":"b5597e13-8d9b-4673-8091-37bb2eddf315"},{"name":"Core API","item":[{"name":"Get Customer Information","id":"757df651-42db-49c7-a206-5447664f4ea5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/information/","urlObject":{"path":["api","information",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"757df651-42db-49c7-a206-5447664f4ea5"},{"name":"Get Usage Report","id":"d1509791-47f6-4ab2-bddd-e84509706aba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/stats/","urlObject":{"path":["api","stats",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d1509791-47f6-4ab2-bddd-e84509706aba"},{"name":"List Orders (Core)","id":"2aeba85f-e3cc-425c-81e7-2ae0b7381b68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/orders/","urlObject":{"path":["api","orders",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2aeba85f-e3cc-425c-81e7-2ae0b7381b68"},{"name":"Get Settings","id":"fe8e1105-688e-45b2-ad14-6e9db368e862","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/settings/","urlObject":{"path":["api","settings",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fe8e1105-688e-45b2-ad14-6e9db368e862"},{"name":"Update Settings","id":"ba378d2a-3c47-4208-ada7-e37e0c607fb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"raw","raw":"{\"setting_name\": \"value\"}"},"url":"https://app.lensadvizor.com/api/settings/","urlObject":{"path":["api","settings",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ba378d2a-3c47-4208-ada7-e37e0c607fb0"},{"name":"List Labs","id":"96f9a28a-189e-457a-b6f3-8ad880147d1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"url":"https://app.lensadvizor.com/api/labs","urlObject":{"path":["api","labs"],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"96f9a28a-189e-457a-b6f3-8ad880147d1c"},{"name":"Upload Support Media","id":"878ce9ab-5fb5-48e5-9b6f-6d8ae9034b4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-LensAdvizor-Access-Token","value":"your_access_token_here"},{"key":"X-LensAdvizor-Shop","value":"your-store.myshopify.com"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"https://app.lensadvizor.com/api/media-upload/","urlObject":{"path":["api","media-upload",""],"host":["https://app.lensadvizor.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"878ce9ab-5fb5-48e5-9b6f-6d8ae9034b4f"}],"id":"3df59ce5-deac-40f8-b09e-1999280a80b0","description":"<p>Core API endpoints for general functionality and store management.</p>\n<p><strong>Required API Scopes:</strong></p>\n<ul>\n<li><strong>Authenticated Endpoints</strong> (Requires access token):<ul>\n<li>Get Customer Information: Requires authentication</li>\n<li>Get Usage Report: Requires authentication</li>\n<li>List Orders (Core): Requires authentication</li>\n<li>Get Settings: Requires authentication</li>\n<li>Update Settings: Requires authentication</li>\n<li>List Labs: Requires authentication</li>\n<li>Upload Support Media: Requires authentication</li>\n</ul>\n</li>\n</ul>\n<p><strong>Endpoints:</strong></p>\n<ul>\n<li>Get Customer Information: <code>Requires authentication</code></li>\n<li>Get Usage Report: <code>Requires authentication</code></li>\n<li>List Orders (Core): <code>Requires authentication</code></li>\n<li>Get Settings: <code>Requires authentication</code></li>\n<li>Update Settings: <code>Requires authentication</code></li>\n<li>List Labs: <code>Requires authentication</code></li>\n<li>Upload Support Media: <code>Requires authentication</code></li>\n</ul>\n","_postman_id":"3df59ce5-deac-40f8-b09e-1999280a80b0"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"1c609094-8413-477c-bc1b-df628b7b4768"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"0f419c74-5889-4dc9-9747-1e7c71462135"}}],"variable":[{"id":"6c078198-b1c7-4619-b1d0-e9bfe0996cd3","key":"base_url","value":"https://app.lensadvizor.com"},{"id":"af980a75-15fc-4af1-877f-6caec45fad04","key":"access_token","value":"your_access_token_here"},{"id":"7feab53d-fa36-4981-9c2e-9261df9a8e19","key":"shop_domain","value":"your-store.myshopify.com"},{"id":"56cf07d2-c202-4377-90d8-3f86182bb9b2","key":"shopify_order_id","value":"123456789"},{"id":"5fd93555-e03c-4904-917f-1103b8c0225b","key":"customer_id","value":"1"},{"id":"9b2fb898-8e98-43d6-a765-ebe1fc2ec210","key":"product_id","value":"1"},{"id":"eeca6270-dc81-4961-90ca-0b0652f353d9","key":"token_id","value":"1"},{"id":"8c18007f-ce33-4115-aef1-4fc28255a2cb","key":"search_term","value":""},{"id":"20f2b554-f686-4fe2-b0a6-385b8d8a2577","key":"lab_status","value":""},{"id":"6ebce1ff-88c2-4cac-b26b-cd1a5b15f32d","key":"vendor","value":""},{"id":"1c650b8b-ee3a-4614-8a7c-5f939927f93c","key":"phone_no","value":""},{"id":"1c13515c-a266-4499-bd0e-9398460dbf76","key":"doctor_name","value":""}]}